- blogs:
- cles::blog
2019/03/14

Tomcat で OutOfMemoryError が出たときに自動で再起動させるようにする


Tomcat を長時間起動していると、メモリリークなどで OutOfMemoryError が出ることがあります。
これについてはログを監視して、デーモンを再起動させてやらないと対処できないと思っていたのですが、8u92 で追加された ExitOnOutOfMemoryError もしくは CrashOnOutOfMemoryError に関する JVM オプションをつけてあげれば、OOM が出たときに JVM が死ぬようにできることが分かったのでメモ。systemd などと組み合わせれば勝手に蘇らせてもらえるので対処も楽ちんですね。
Java™ SE Development Kit 8, Update 92 Release Notes
New JVM Options added: ExitOnOutOfMemoryError and CrashOnOutOfMemoryError
Two new JVM flags have been added:
- ExitOnOutOfMemoryError - When you enable this option, the JVM exits on the first occurrence of an out-of-memory error. It can be used if you prefer restarting an instance of the JVM rather than handling out of memory errors.
- CrashOnOutOfMemoryError - If this option is enabled, when an out-of-memory error occurs, the JVM crashes and produces text and binary crash files (if core files are enabled).
See JDK-8138745.
具体的には JVM オプションに以下のいずれかの指定を入れてやればOKです。
-XX:+CrashOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError
† 参考
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10832
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . Thunderbird のメッセージをスレッド化しないようにする(7116)
2 . Word で数式がグレーアウトされていて挿入できないときは(6818)
3 . Windows 10 で勝手にログアウトされないようにする(5187)
4 . Firefox でパスワードが保存されるページとされないページの違い(3933)
5 . awk で指定した n カラム目以降を出力する(3507)
2 . Word で数式がグレーアウトされていて挿入できないときは(6818)
3 . Windows 10 で勝手にログアウトされないようにする(5187)
4 . Firefox でパスワードが保存されるページとされないページの違い(3933)
5 . awk で指定した n カラム目以降を出力する(3507)
cles::blogについて
Referrers