最近、生産サーバ:tomcat6が頻繁にハングアップし、次のエラー「java.lang.OutOfMemoryError:PermGen space」を投げています。これはWindows 2003サーバ4GBのRAMを搭載。 25アプリケーションがそのサーバーで実行されていて、オーバーロードされているように見えますが、それ以前に正常に動作していました。私は、DB接続を閉じる、JAVA_OPTSでヒープメモリを増やすなどのメモリリークを解決しようとしました。それでも私は正確な根本的な原因を見つけることができませんでした。またTomcat6はマネージャーアプリケーションで構成されていないため、メモリ/ヘルスチェックを実行できませんでした。これを解決するために私を案内してください。Tomcat6は頻繁にハングアップしています:java.lang.OutOfMemoryError:PermGen space
答えて
あなたはPermGenスペース編集を増やす必要がありますJAVA_OPTS
とオプションを使用してXX:MaxPermSizeを(例えば、-XX:MaxPermSize=1024m
)。ヒープサイズ(Xmx)を増やすことは、あなたのケースでは役に立ちません。
私はまた、メモリの使用状況を調査し、必要に応じて、あなたのJAVA_OPTS
を調整するGlowrootよう監視ツール(APM)の使用を示唆しています。 PermGenスペースとそのガベージコレクション機構の目的の詳細については
ありがとう@ロバート・ヒューム、しかし私はすでにJAVA_OPTSにMaxPermSizeを次のセット "JAVA_OPTS =%JAVA_OPTS%-Xms1024m -Xmx1024m -XX:MaxPermSize = 1024m -XX:+ CMSClassUnloadingEnabled -XX:+ CMSPermGenSweepingEnabled -server」を選択します。しかし、まだ問題がある、とにかくTomcatのインスタンスがMaxPermSizeを選択するかどうかを追跡する必要はありますか? APMは良いアイデアだと思っています。私はそれを試してみます – Vic
Tomcat Managerを持っていないことを考慮して、 '-XX:+ PrintCommandLineFlags'引数を' JAVA_OPTS'に追加し、サーバを再起動して 'logs/catalina .out'ファイル: 'JAVA_OPTS'で指定したすべてのコマンドラインフラグを含む1行が表示されます。 –
@ JAVA_OPTSにPrintCommandLine引数を加えても、@ Robert Humeに感謝します。ログに詳細が表示されません。ちょっと考えて、Tomcatが実行されているかどうかを調べる方法はありますか?たとえば、別のサーバーからpingして、Tomcatが応答していない場合(URLコンテンツモニターなど)サーバーがハングアップしている間に即座のアクションを得る – Vic
- 1. XCode 9.0「Jump to definition」コンテキストメニューが頻繁にハングアップする
- 2. 地図が頻繁に点滅しています
- 3. Application_Endが頻繁
- 4. FCMトークンが頻繁に無効になっています
- 5. Logcatは頻繁に作業中です
- 6. Quickbloxが頻繁にクラッシュするのは、
- 7. タスクキューをプッシュ頻繁
- 8. ユーザーが頻繁にログアウト(デフォルトメンバーシッププロバイダ)
- 9. 取得バンドラロードエラー頻繁に
- 10. 最も頻繁に言葉
- 11. setIntervalあまりにも頻繁に(JavaScript)
- 12. XMLまたはSQL - だけ頻繁
- 13. DDE:C#NDde DdeClient.Requestは頻繁に "No Data"を返しますか?
- 14. アプリエンジンは頻繁なクエリを自動的にキャッシュしますか?
- 15. requestAnimationFrameは60 fpsよりも頻繁に発生します
- 16. キャッスルプロジェクトDynamicProxyはReflectionを頻繁に使用しますか?
- 17. Fillna最も頻繁には列全体
- 18. 私のアプリは頻繁に死ぬ
- 19. HMACは頻繁に間違って実装されていますか?
- 20. ファイルマッピングメモリに頻繁にアクセスする
- 21. 反応webpackアプリは、頻繁にリロード後にブランコページを持っています
- 22. コアプロットグラフのサブビュー付きUIScrollViewは頻繁にズームしません
- 23. PhpStorm:Vagrant SSHセッションは頻繁にタイムアウトします(私は推測します)
- 24. 頻繁に停止するMPMoviePlayerController
- 25. Appceleratorチタニウムが頻繁にクラッシュする?
- 26. 電子アプリが頻繁にハングする
- 27. FBSDKProfileカテゴリが頻繁に失敗する
- 28. スピナー・フラグメントが頻繁にクラッシュする
- 29. WebSocket頻繁にメッセージをゼロコピーする
- 30. Eclipseが頻繁にクラッシュする
PermGenは、最も一般的にクラス定義(および特定の古いXMLパーサーと、IIRC)に関連しています。 25種類のアプリケーションを実行しているので、PermGenスペースを明示的に割り当てることが必要な場合があります(おそらくそれぞれがさまざまなサポートライブラリのバージョンが少し異なります)。 http://stackoverflow.com/questions/3003855/increase-permgen-spaceを参照してください – Gus