【问题标题】:Getting total used memory of a running JVM under Linux获取 Linux 下正在运行的 JVM 的总已用内存
【发布时间】:2011-08-23 11:52:02
【问题描述】:

我正在寻找一种有效的方法来测量正在运行的 jvm 使用的内存。 带有我的 jvm pid 的单个命令行返回一个可靠的内存消耗大小值。

谢谢

【问题讨论】:

标签: jvm monitoring


【解决方案1】:

你可以运行

ps aux | grep java

这将向您显示在其启动字符串中包含 java 的每个应用程序的内存使用情况,这应该是大多数(如果不是全部)java 应用程序。

我的服务器的输出如下:

servername:~ servername$ ps aux | grep java
servername 50122   0.3  1.7  2832968  89236   ??  S    Thu08AM 117:55.94 /usr/bin/java -jar /srv/eurekaj/Proxy/eurekaJ.Proxy-1.0.RC1-jar-with-dependencies.jar
servername 72399   0.0 25.9  4978676 1355616   ??  S    29Jul11 1560:43.70 /usr/bin/java -Xmx2g -Xms1g -Djava.io.tmpdir=/tmp -Dbtrace.agent=HudsonAgent -javaagent:/srv/btrace/1.2/btrace-agent.jar=scriptdir=/srv/btrace/scripts,stdout=false,fileRollMilliseconds=7500 -jar hudson.war --httpPort=8093
servername 72392   0.0  8.3  3169604 437192   ??  S    29Jul11 120:41.42 /usr/bin/java -Xmx256m -Xms256m -Djava.io.tmpdir=/jettytmp -Dbtrace.agent=JSFlotDemoAgent -Dlog4j.configuration=file:/srv/jsflot/demo/log4j.xml -javaagent:/srv/btrace/1.2/btrace-agent.jar=scriptdir=/srv/btrace/scripts,stdout=false,fileRollMilliseconds=7500 -classpath :very_verbose_classpath org.jsflot.server.JettyServer
servername 97501   0.0  0.0  2425712    276 s000  R+    4:58AM   0:00.00 grep java

您可以从中读取每个进程的 PID、CPU 使用率 (%) 和内存使用率 (%)。

你也可以使用

top

获得类似结果的命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-16
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2015-10-05
    • 2010-09-14
    相关资源
    最近更新 更多