Linux 环境下适用于 Java 的良好内存监控工具

Linux 环境下适用于 Java 的良好内存监控工具

我正在尝试监控我的 java 程序的内存使用情况。截至目前,我正在使用“Top”。Top 是一个命令行工具,可显示程序的内存使用情况。输出示例将类似于以下内容:

$# top -p <pid>

输出:

PID: <PID>
User: <user>
VIRT: 513M 
%MEM: 25.1

我正在尝试寻找一个更好的内存监控工具,它可以向我显示驻留在内存中的 Java 对象是什么、它们的大小等等。

答案1

您可以使用可视化虚拟机监控 Java 进程中的内存使用情况。除了监控整个堆之外,它还包括一个内存分析器,以便您可以查看哪些对象占用的内存最多。

它也包含在最新的 JDK 中视觉虚拟机

答案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

相关内容