Javaヒープを監視するためのコマンドラインツール


14

CentOSでJavaのヒープサイズの使用を監視するためのコマンドラインツールはありますか?

回答:


6

jpsjstackを使用して、Javaプロセスの詳細を学習します。jstatJava統計の監視にも役立ちます。


6
cd /opt/www/java/jdk/bin/

# jmap -heap <JAVA_PID>

「コアダンプまたはリモートデバッグサーバーに接続できません。代わりにjhsdb jmapを使用してください」というエラーが発生しました。jhsdb jmap --heap --pid xxxxトリックをしました
トム

4

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

プロセス11272にエラーがあるのはなぜですか?
アキレカドゥ

@akirekadu多くの理由があります。最も一般的なものは、jvmtopとターゲットjvmの間で互換性のないJDKであるか、権限が不十分/拒否されています。詳細については、よくある質問をご覧ください。
-MRalwasser

1

おそらくメモリ使用量を分析する必要があります。

GCViewは、GCログが示す内容を視覚化するのに役立ちます。

すでにgc-logを有効にしている場合はtail -f、そのログで使用できます。


1

これを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を使用します。

Jconsoleスクリーンショット


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.