問題タブ [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 投票する
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 で使用されるだけです

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

0 投票する
7 に答える
83853 参照

java - tomcat PermGen スペースをどうするか

背景:私はJSPを使用するWebプロジェクトを持っています。IDE は Eclipse です。tomcatの設定は、リソース変更時に自動公開し、公開間隔は「1秒」です。

一部の設定を保存するために使用されるクラス フォルダー内のプロパティ ファイル。サーブレットによって動的に変更することもできます。変更操作は、JSP の保存ボタンによってトリガーされます。

問題: いくつかの保存操作の後、Tomcat にjava.lang.OutOfMemoryError: PermGen space.

ログメッセージ