Javaのヒープサイズの使用状況を監視するためのコマンドラインツールはありますか?
Javaプロセスの詳細については、jps
およびjstack
を使用してください。jstat
はJava =統計モニタリング。
cd /opt/www/Java/jdk/bin/
# jmap -heap <Java_PID>
jvmtop は、ヒープを含むいくつかのメトリックでライブビューを提供するコマンドラインツールです。
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
これをubuntuとredhatで機能するか試してください:
Java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
Windowsの場合:
Java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
Mac用
Java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'
このすべてのコマンドの出力は、以下の出力に似ています。
uintx InitialHeapSize := 20655360 {product} uintx MaxHeapSize := 331350016 {product} uintx PermSize = 21757952 {pd product} uintx MaxPermSize = 85983232 {pd product} intx ThreadStackSize = 1024 {pd product}
Javaバージョン "1.7.0_05" Java(TM)SEランタイム環境(ビルド1.7.0_05-b05)Java HotSpot(TM)64ビットサーバーVM (ビルド23.1-b03、混合モード)
MBでサイズを見つけるには、値を(1024 * 1024)で割ります。
ライブヒープメモリの使用状況を監視するには、jconsoleを使用します。
このツールも確認できます https://github.com/TeoGia/jotun
jstatのラッパーで、ヒープとRAM使用法をjson形式で出力します