したがって、基本的に私たちの場合、サーバーが不思議なことにダウンし、頻繁に再起動すると正常に動作し始めます。これまで、パターンを確立することができませんでした。スレッド ダンプを調べることは役に立ちましたが、メモリ使用量も分析したいと考えています。これらのツールは、定期的に実行するように設定できますか (スナップショットを定期的に保存し続けます)、または例外またはクラッシュを検出するたびに実行できますか?
2 に答える
0
完全なダンプは生成されませんが、jstat
継続的に実行して、定期的に時間の経過に伴うメモリの要約統計を提供できます。
> jstat -gccause -t <JVMID> 60s
たとえば、 で強制終了するまで、メモリ プールとガベージ コレクションの統計情報が毎分生成されますCtrl-C
。
jstat
メモリとガベージ コレクションよりも多くのことができます。詳細については、jstat マンページを参照してください。
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstat.html
于 2013-02-08T18:54:50.173 に答える
0
cronでjmapを実行しますか?
もう 1 つのオプションは、jdb をプロセスに接続することです。キャッチされない例外で停止し、その状態で jmap を使用してヒープ ダンプを取得できます。残念ながら、jdb 自体はヒープ ダンプの取得をサポートしていません。
于 2012-02-23T09:39:51.773 に答える