如何知道Java程序使用的内存

时间:2012-12-06 13:41:54

标签: memory jetty monitoring jmx jconsole

我有一个在服务器上运行的程序(使用Jetty)。我正在测试它。为此,我使用了一个名为Gatling的压力测试平台。为了监控,我使用jconsole来向我展示远程服务器上JVM的内存,cpu ......用法。但是,在运行我的测试时,jconsole向我显示使用了500 Mo,但在我的服务器上使用top命令向我显示java进程使用了​​近1 Gig。

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                  
2328 ubuntu    20   0 2627m 942m  12m S 98.9 57.0  57:33.23 java      

嗯,我在解释这些结果时遇到了麻烦,我必须在这里误解一些东西,但不知道是什么。

任何帮助都会很棒, 干杯

1 个答案:

答案 0 :(得分:0)

java进程使用的内存由

组成
  • 堆空间(在您的情况下为500 MB)
  • permgen sizem取决于您的设置,默认情况下应为64mb
  • 堆栈大小
  • JVM流程大小本身

查看link了解更多详情。