Good Memory Monitoring Tool for Java in Linux Environment
5,150
Solution 1
You can use VisualVM to monitor memory usage in Java processes. As well as monitoring the overall heap it also includes a memory profiler so you can see what objects are using the most memory.
It is also included in the latest JDK as jvisualvm.
Solution 2
Maybe jvmtop is worth a look. It's a command-line tool which provides a live-view at several metrics.
Example output of the VM overview mode:
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
Related videos on Youtube
Author by
Alan
Updated on September 17, 2022Comments
-
Alan over 1 year
I am trying to monitor the memory usage of my java program. As of now I am using 'Top'. Top is a command line tool that shows you the memory usage of your program. The out put example will is similiar as the following:
$# top -p <pid>
Output:
PID: <PID> User: <user> VIRT: 513M %MEM: 25.1
I am trying to find a better memory monitoring tool that can show me what are the java objects that resides in the memory, their size, etc.