0

したがって、基本的に私たちの場合、サーバーが不思議なことにダウンし、頻繁に再起動すると正常に動作し始めます。これまで、パターンを確立することができませんでした。スレッド ダンプを調べることは役に立ちましたが、メモリ使用量も分析したいと考えています。これらのツールは、定期的に実行するように設定できますか (スナップショットを定期的に保存し続けます)、または例外またはクラッシュを検出するたびに実行できますか?

4

2 に答える 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 に答える