【发布时间】:2011-08-23 11:52:02
【问题描述】:
我正在寻找一种有效的方法来测量正在运行的 jvm 使用的内存。 带有我的 jvm pid 的单个命令行返回一个可靠的内存消耗大小值。
谢谢
【问题讨论】:
-
这里有一个相关的帖子:stackoverflow.com/questions/131303/…
标签: jvm monitoring
我正在寻找一种有效的方法来测量正在运行的 jvm 使用的内存。 带有我的 jvm pid 的单个命令行返回一个可靠的内存消耗大小值。
谢谢
【问题讨论】:
标签: jvm monitoring
你可以运行
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
获得类似结果的命令。
【讨论】: