linuxのメモリ不足によるtomcatの自動停止原因分析

882 ワード

前提条件
ローカルテストは問題ありません
プロダクション
メモリを食べる方法を呼び出すとtomcatがクラッシュします
catalinaログファイルにはログ情報がありません
原因分析
/var/log/messagesファイルを開く これはlinuxシステムログファイルです
ここでは
Dec  7 21:02:45 iZrj97s23bov6rewm9af7aZ kernel: Out of memory: Kill process 22692 (java) score 230 or sacrifice child
Dec  7 21:02:45 iZrj97s23bov6rewm9af7aZ kernel: Killed process 22692 (java) total-vm:2676800kB, anon-rss:445468kB, file-rss:0kB, shmem-rss:0kB
メモリオーバーフロー
この問題は昨日私を一日困らせた.
このアウト if memoryは私のところに24回表示されています  24回テストしたと説明しました
開発環境12 Gメモリ
生産環境2 Gメモリ
呼び出したメモリーの食べ方は lucene分詞によるインデックス作成 このメソッドの起動には数百Mのメモリが必要です
/var/log/messagesというファイルを見つけることができて、基本的に問題は半分解決しました. メモリが足りないのは誰も知らない
参照先:
アリクラウドサーバーに走っているtomcatがなぜか殺された問題を教えてください.
基礎こそ重中の重さ~マルチスレッドの代価~私のメモリはすべて食べられました!
メモリ不足:プロセスを殺すかサブプロセスを犠牲にするか
tomcat「フラッシュバック」プロセス終了調査-プロセス終了、ソリューション