我正在尝试监控我的 java 程序的内存使用情况。截至目前,我正在使用“Top”。Top 是一个命令行工具,可显示程序的内存使用情况。输出示例将类似于以下内容:
$# top -p <pid>
输出:
PID: <PID>
User: <user>
VIRT: 513M
%MEM: 25.1
我正在尝试寻找一个更好的内存监控工具,它可以向我显示驻留在内存中的 Java 对象是什么、它们的大小等等。
答案1
答案2
或许虚拟机top值得一看。这是一个命令行工具,可提供多个指标的实时视图。
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