私はこれを試したGet a heapdump on JVM from Tomcat 6 しかし、それは私のためには動作しませんが、Tomcatサーバーからヒープダンプを取得する他の方法はありますか?前もって感謝します!ヒープダンプを取得する方法を
答えて
ヒープダンプを取得する最も簡単な方法は、jmapを使用することです。 Javaプロセスを持つマシン上でjmapコマンドを実行します。使用例:
jmap -dump:file=/mnt/heapdump_2013-04-01.data 29842
jps java Pidを知っている。
jvisualvmでヒープダンプを行うこともできます。 jmxまたはjstatd経由でリモートマシンに接続できます。ヒープダンプを作成し、リモートマシンに格納することができます。
ヒープダンプを分析するには、アドバイスを受けることができます:MAT。問題をすばやく理解できる非常に強力なツールです。あなたはマットのino良いを見つけることができます。
あなたはバイナリダンプを作ることができ、長い時間(You can use gcore or gdb)用のアプリケーションを停止したくない場合。そして、あなたはuse jmap to analyze gdb dumpです。詳しくは、atlassian blogでお読みください。 someissuesに注意してください。
あなたは "sudo" – th3morg
jvisualvmの「ダンプヒープ」ボタンの他に、JMXインターフェイスを使用する方法もあります。この方法では、ダンプを格納する場所を指定することさえできます。
JMXプラグインを使用してjconsoleまたはjvisualvmを使用して、tomcatのJMXサーバーに接続します。その後、com.sun.management
- >HotSpotDiagnotic
- >Operations
に到達しました。 dumpHeap
の横に2つのパラメータを入力します。 Oracleのドキュメントから(hereを参照してください):
パラメータ:
OUTPUTFILE - システムに依存するファイル名
ライブ - 真のダンプは、オブジェクトだけが他人から到達可能なオブジェクト、すなわち住んでいる場合
次に、dumpHeap
を押して、ダンプを書き込んでいる間にVMのフリーズをしばらく観察してください。
私はビジュアルVM http://visualvm.java.net/をお勧めします。これはtomcatに接続し、ヒープダンプを作成して読み込み、スレッドダンプ、CPUとメモリサンプラを作成することができます。
新しいjdk 1.7を使用する場合、VisualVMはすでにjdkフォルダにパッケージされています。
- 1. 実行中のJVMからヒープダンプを取得する方法
- 2. Windows上でのみJREからヒープダンプを取得
- 3. アンドロイドのヒープダンプをEclipse形式に変換する方法
- 4. Javaヒープダンプからキャッシュされたオブジェクトを見つける方法
- 5. 既にクラッシュしているシステムでヒープダンプを取る
- 6. 「validates_uniqueness_of」 - エラーメッセージを取得する方法を
- 7. 取得する方法ユーザープロファイル
- 8. 取得する方法ポストデータ
- 9. 取得リクエストでカラーコード値を渡して取得する方法
- 10. Sencha-touch:Ext.reg()で要素を取得/取得する方法
- 11. TFSコレクションを取得したWorkItemChangedEventから取得する方法
- 12. Java Webstartヒープダンプ
- 13. Android StrictModeとヒープダンプ
- 14. iPhoneでココアを取得する方法
- 15. jQueryメタデータ、値を取得する方法?
- 16. HTTPヘッダーを取得する方法
- 17. ヘッダー値を取得する方法
- 18. jQuery.Get();でパラメータを取得する方法
- 19. onintercepttoucheventのテキストを取得する方法
- 20. Androidでキャッシュサイズを取得する方法
- 21. SCNTransactionを取得する方法
- 22. OSのバージョンを取得する方法
- 23. アンドロイドのロケーションオブジェクトを取得する方法
- 24. テーブルのパラメータを取得する方法
- 25. スカラオブジェクトタイプのclassOfを取得する方法
- 26. メディア設定を取得する方法
- 27. ArrayDeQueListのサブリストを取得する方法
- 28. アンドロイドを取得する方法2.3.4 sourcecode?
- 29. タイムゾーン情報を取得する方法
- 30. PRISMでモジュールインスタンスを取得する方法
ヒープダンプを作成しようとしたときに問題が発生しましたか? – Taky
メモリ不足のためJVMが枯渇したときにヒープダンプを作成するだけでリンクします。あなたが望むときはいつでも、あなたはヒップダンプをすることができません。しかしそれはあなたにとってまだ非常に便利な選択肢です。 – Taky