問題タブ [permgen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1160 参照

java - Struts2PermGenのメモリ不足エラー

フロントエンドサーバーがPermGenを非常に高速にゴブリングしている大きなアプリケーションでこの発生に気づきました。最悪の場合、リクエストごとに増加し続け、アプリケーションサーバーにリクエストをまったく行わなくても増加し続けることがあります。 。私はtomcat6.0.33、tomcat6.0.29の両方でこれに直面しました。

問題を切り分けるために、私は支柱を真っ白に拾い上げました、そして私の失望にそれは同じ傾向を示していました。これは正常ですか?maven(mvn archetype:generate)を使用して2.2.1、2.2.1.1、2.2.3.1などのいくつかのバージョンのstruts2をチェックしてみましたが、それらを突堤で実行した後、PermGenスペースがすべてのリクエストで2でいっぱいになっていることに気付きました-3KB。ストラットブランクと桟橋でテストしています-6.1.21。

PermGenはリクエスト数の関数として増加しているので、PermGenを使用して本番環境に移行する価値はあると思いますか?

0 投票する
4 に答える
18857 参照

java - メソッドエリアとPermGen

HotSpot JVMのメモリ構造を理解しようとして、 「メソッド領域」「PermGen」スペースという2つの用語と混同されました。私が参照したドキュメントによると、メソッド領域にはバイトコードを含むクラスとメソッドの定義が含まれています。他のいくつかのドキュメントは、それらがPermGenスペースに格納されていると言っています。

では、これら2つのメモリ領域は同じであると結論付けることができますか?

0 投票する
2 に答える
967 参照

java - TomcatでJenkinsを使用してGrailsアプリを再デプロイすると、PermGenスペースがいっぱいになります

現在、Tomcat 6でのGrailsアプリケーションのデプロイでさまざまな問題が発生しています。主に、メモリ使用量の問題とJenkinsを介した再デプロイに関するものです。

アプリケーションはますます多くのメモリを消費し、CMSPermGenSweepingEnabled(UseConcMarkSweepGCを使用)を使用してこれを解決しようとしたため、Groovyが使用する一時クラスをクリーンアップする必要があります。

まだ問題なのは、(jenkinsを使用して)再デプロイするたびに、アプリに約150 mbの追加のPermgenスペースが必要になることです...これを回避する方法はありますか?

Grail 1.3.7を使用しており、現在の構成フラグは次のとおりです。

0 投票する
2 に答える
2070 参照

java - クラスローダーがリリースされたときにシングルトンでファイナライズが呼び出されるのはいつですか?

「リリースされた」とは、クラスローダーへの参照が残っていないことを意味します。

頻繁に再デプロイされる Java EE アプリケーションが permgen スペースを消費するという問題が発生しています。分析の結果、Java EE アプリのシングルトンがアプリケーションの外部のアプリケーション クラスローダー オブジェクトへの参照を渡し (Java EE 規則に違反して)、アプリのアンデプロイ時にそれらをクリアしていないことがわかりました。

シングルトンまたはクラス オブジェクトへの参照が他に残っていないと仮定すると、そのクラスのクラスローダーが解放されたときにシングルトンの finalize() が呼び出されますか? そこの不正なインバウンド参照をクリアしたいと思います。または、クラスローダー自体がガベージコレクションされるまでファイナライズが呼び出されないcatch-22にいますか?したがって、不正な外部参照のために呼び出されることはありませんか?

ここでの主な質問はおそらく次のとおりです。

この場合、クラスローダーがまだガベージコレクションできない場合、クラスオブジェクトはガベージコレクションされますか? これは、クラスローダの動作の仕様に依存するか、実装に依存する可能性があります。

参照 (別の種類! ;-)) は歓迎されますが、必須ではありません。

0 投票する
1 に答える
1828 参照

java - MaxPermSize を小さく保つ利点はありますか?

64 ビットの JVM を想定すると、MaxPermSize を小さく保つことには大きな利点がありますか?

これは、頻繁に再デプロイされ、クラスローダー リークがある Java EE アプリケーションのコンテキストにあります。中期的な回避策として、ディスク スワップ スペースを使い果たしない限り、MaxPermSize をばかげた値に引き上げることが非常に合理的と思われます。

アンデプロイされたアプリのコードは (リークに関係するものを除いて) ほぼすべて未使用であるため、オペレーティング システムによってページ アウトされます。したがって、展開されていないデトリタスによる物理メモリへの負荷は無視できるようです。これは、RSS (Unix のワーキング セット サイズ) を観察することで確認されています。

他に注意すべき影響はありますか?

0 投票する
1 に答える
322 参照

weblogic - JVM ヒープ メモリ パラメータに関する Jprobe の問題

Jprobe を weblogic と統合し、ヒープ メモリを増やして実行すると、「OutOfMemoryError: PermGen space failure」というエラーが発生します。これは主に jprobe、weblogic サーバー、および jvm に関連しています。解決方法を教えてください。

0 投票する
2 に答える
4550 参照

java - Tomcat でのホット デプロイでの PermGen Space エラー

再デプロイするたびに、ログに次のメッセージが表示されます。

最終的に 1 ~ 2 回のホット デプロイの後、サーバーが応答を停止し、PermGen スペース エラーが発生します。

バグの原因に関する詳細情報を入手するにはどうすればよいですか?

0 投票する
1 に答える
1177 参照

java - JVM Permanent Generation (PermGen) メモリ領域をプログラムで埋める

私が開発したいくつかの JMX 監視スクリプトをテストする必要があります。特に、PermGen 領域の監視が機能していることを確認したいと思います。したがって、これをテストするために、PermGen を使用するためにかなりの数のクラスをロードするコードを少し実行できるようにしたいと考えています。

prefix(1..n).java私の現在の計画は、それらを生成してコンパイルし、キューで実行するスクリプトを作成することです。

これを達成するためのよりエレガントなソリューションはありますか?

0 投票する
1 に答える
775 参照

grails - weblogicサーバー10.3.6にgrailsプロジェクトwarをデプロイする際のクォーツスケジューラによるメモリ不足エラー

grailsアプリケーションwarをweblogicサーバーにデプロイすると(Quartzスケジューリングを使用しています)、weblogicにデプロイするとpermgenspaceエラーが発生します。アプリケーションは、IDEまたはWARのTomcatデプロイメントから正常に動作します。エラーは次のとおりです。

0 投票する
2 に答える
963 参照

java - Java プロファイリング Permgen: Java クラス内で列挙型をアンロードする方法

私は、サーバー (tomcat) で同じ war ファイルの展開と展開解除のアクションを繰り返すと、PermGen OutOfMemoryError が発生する場所にいます。私の目標は、戦争がアンデプロイされたときにすべてのクラスを確実にアンロードすることです。

ここに私が持っているクラスがあります:

ClassA の参照をすべてクリアしたところ、ClassA が表示されず、war がアンデプロイされたときにアンロードされました。ただし、列挙参照は引き続き表示され、ClassA$EnumInsideClassA はアンロードされません。

「myState」インスタンス変数のゲッターはなく、ClassA で使用されるだけです

どんな助けでも大歓迎です