是否有命令行工具(Linux)来检查Java应用程序的堆大小(和使用的内存)?
我已经尝试过jmap了。但它提供了信息。关于内部存储区,如Eden/ PermGen等,这对我没有用处。
我正在寻找类似这样的东西:
就这样。我知道我可以在JConsole等文件中看到这一点,但我需要一个命令行工具(不能启用JMX等)。
您知道这样的工具/命令吗?
发布于 2012-10-09 22:44:30
每个Java进程都有一个pid
,您首先需要使用jps
命令找到它。
有了pid之后,就可以使用jstat -gc [insert-pid-here]
来查找垃圾收集堆行为的统计信息。
jstat -gccapacity [insert-pid-here]
将显示有关内存池生成和空间的信息,capabilities.jstat -gcutil [insert-pid-here]
将以容量百分比的形式显示每一代的利用率。一目了然地了解使用情况非常有用。请参阅甲骨文网站上的jstat docs。
发布于 2014-03-01 08:19:15
此命令以字节为单位显示配置的堆大小。
java -XX:+PrintFlagsFinal -version | grep HeapSize
它也可以在EC2上的Amazon AMI上运行。
发布于 2013-04-07 19:19:58
jvmtop是一个命令行工具,它提供了包括堆在内的多个指标的实时视图。
VM概述模式的输出示例:
JvmTop 0.3 alpha (expect bugs) amd64 8 cpus, Linux 2.6.32-27, load avg 0.12
http://code.google.com/p/jvmtop
PID MAIN-CLASS HPCUR HPMAX NHCUR NHMAX CPU GC VM USERNAME #T DL
3370 rapperSimpleApp 165m 455m 109m 176m 0.12% 0.00% S6U37 web 21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager 11m 28m 23m 130m 0.00% 0.00% S6U37 web 31
19187 m.jvmtop.JvmTop 20m 3544m 13m 130m 0.93% 0.47% S6U37 web 20
16733 artup.Bootstrap 159m 455m 166m 304m 0.12% 0.00% S6U37 web 46
https://stackoverflow.com/questions/12797560
复制相似问题