【问题标题】:How to know memory used by a Java program如何知道 Java 程序使用的内存
【发布时间】:2012-12-06 13:41:53
【问题描述】:

我有一个在服务器上运行的程序(使用 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      

好吧,我在解释这些结果时遇到了麻烦,我肯定在这里误解了一些东西,但无法弄清楚是什么。

任何帮助都会很棒, 干杯

【问题讨论】:

    标签: memory jetty monitoring jmx jconsole


    【解决方案1】:

    java进程使用的内存包括

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

    查看link了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-21
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2014-10-04
      • 2013-02-04
      • 1970-01-01
      相关资源
      最近更新 更多