在Linux下获取正在运行的JVM的总使用内存

时间:2011-08-23 11:52:03

标签: jvm monitoring

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

THX

1 个答案:

答案 0 :(得分: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

命令获得类似的结果。