問題タブ [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.
exception - 「java.lang.OutOfMemoryError: PermGen space」エラーの処理
最近、Web アプリケーションで次のエラーに遭遇しました。
java.lang.OutOfMemoryError: PermGen スペース
これは、Tomcat 6 および JDK 1.6 で実行される典型的な Hibernate/JPA + IceFaces/JSF アプリケーションです。どうやらこれは、アプリケーションを数回再デプロイした後に発生する可能性があります。
何が原因で、それを避けるために何ができるでしょうか? 問題を解決するにはどうすればよいですか?
java - Javaで優れたpermgenスペース文字列をどのように設計しますか?
Javaで優れたpermgenスペース文字列を設計するにはどうすればよいのでしょうか。私の研究と理解に基づいて、私は次のことを思いついた:
例:JAVA_OPTS='-Xmx512m -XX:MaxPermSize=256m -server -Djava.awt.headless=true'
申し訳ありませんが、最初に質問を投稿したときに例が貼り付けられませんでした......
java - 永久世代に何があるかを知るにはどうすればよいですか
ヒープダンプまたは実行中のVMがある場合、永続世代のコンテンツが何であるかを確認するにはどうすればよいですか?'jmap -permstat'については知っていますが、Windowsでは使用できません。
java - PermGen は実際には何の略ですか?
PermGen とは何か、何に使用されるのか、なぜ失敗するのか、どのように増やすのかなどを知っています。
私が知らないのは、PermGen が実際に何を表しているかです。永久... ゲン... 何か?
PermGenが実際に何を表しているか知っている人はいますか?
java - どの無料のJVM実装が最高のPermGen処理を持っていますか?
私はSunのJRE6でTomcat6を実行しており、すべてのカップルがデプロイするとOutOfMemoryException:PermGenが発生します。私はPermGenソリューションのグーグルを実行し、多くの修正を試みました。動作しません。OracleのJRockitと、そのPermGen割り当てのサイズをギグにする方法(Sunの128Mと比較)について多くの良い点を読みました。問題は解決しませんが、PermGenの例外間で2回と比較して100回再デプロイできます。今回。
JRockitの問題は、数千ドルの費用がかかるWebLogicを購入する必要がある本番環境でJRockitを使用することです。PermGenの拡張をより許容する他の(無料の)オプションはありますか?以下のJVMはこの領域でどのように機能しますか?
- IBM JVM
- JDKを開く
- ブラックダウン
- カフェ
...その他?
更新: PermGenの最大値が128Mだと思った理由を尋ねる人もいます。その理由は、128Mを超えようとすると、JVMが初期化に失敗するためです。
[2009-06-18 01:39:44] [info] Error occurred during initialization of VM
[2009-06-18 01:39:44] [info] Could not reserve enough space for object heap
[2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed
オブジェクトヒープ用のスペースを予約しようとして失敗するのは不思議ですが、それが「a」ヒープではなく「the」ヒープであるかどうかはわかりません。
初期ヒープが1024MB、最大ヒープが1536MBのJVMを起動します。
答えられたので、この質問を閉じます。「切り替えは役に立たない」と代わりに尋ねるなぜ私のSunJVMはより大きなPermGen設定で失敗するのですか?
tomcat - PermGen を 128M より上に設定すると、Sun JVM が初期化に失敗するのはなぜですか?
PermGen を増やす必要があります。現在、コマンドラインパラメーターとして次を渡します。
-XX:PermSize=128m
-XX:MaxPermSize=128m
これは機能します。ただし、値を増やそうとすると、JVM の初期化に失敗し、次のエラーが発生します。
[2009-06-18 01:39:44] [info] Error occurred during initialization of VM
[2009-06-18 01:39:44] [info] Could not reserve enough space for object heap
[2009-06-18 01:39:44] [info]
[2009-06-18 01:39:44] [395 javajni.c] [error] CreateJavaVM Failed
具体的には、付属のJRE6でTomcatを起動しようとしていますが、これは問題ではないと思います。
編集: 2 GB の RAM で Win2k3 VM イメージを実行しています。Monitor Tomcatアプリケーションを次のパラメータで使用して JVM を起動します。
初期メモリ プール: 1024、最大メモリ プール: 1536
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:+CMSPermGenSweepingEnabled
-XX:+CMSClassUnloadingEnabled
-XX:+UseConcMarkSweepGC
-Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0
-Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0
-Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed
-Djava.io.tmpdir=E:\tomcat\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties
java - Tomcat-Spring-Hibernate Web アプリケーションの「PermGen 領域不足」例外で何ができますか?
Spring-Hibernate を使用して登録ユーザー データを Oracle データベースに保持する Web アプリケーションがあります。アプリケーションは開発環境では正常に動作しますが、より多くのデータを含むライブ環境にコピーすると失敗しました。最初はアプリケーションは正常に起動しますが、いくつかのアクションの後、「PermGen out of space」という例外が発生しました。
Google、Spring、および Hibernate フォーラムで検索を開始しましたが、役に立ちません。このエラーについては多くの議論がありますが、それぞれの解決策について、「うまくいく」と言う人もいれば、「うまくいかない」と言う人もいます。
たとえば、多くの人が-XX:MaxPermSize
JVM パラメータを増やすことを申し出ますが、他の人はそれがうまくいかないと言います。javassist ライブラリなどの使用上の問題や、cglib ライブラリを使用する必要があるという投稿があります。他の人は、問題は cglib にあると言っています。
Java1.5_0_09、Spring 2.5 with javaassist3.4.GA、Web コンテナとして Tomcat 5.5、データベースとして Oracle 10g を使用します。
この問題の原因と解決方法を誰かに説明してもらえますか?
java - jBoss 4.0.2 で同じ WAR を複数回デプロイすると、PermGem/メモリ不足エラーが原因で jBoss がクラッシュする
私は Web アプリケーションを開発し、jBoss 4.0.2 を使用しています。Eclipse で WAR を数回再デプロイすると、メモリ不足のために jBoss がクラッシュします。また、本番環境に新しいバージョンをインストールする必要がある場合、本番サーバーのメモリが消費されるため、jBoss を停止して、顧客のサーバーからメモリを再展開しないようにする必要があります。この問題の回避策はありますか?
java - TomcatでPermGenスペース例外を処理するには?
Web アプリケーションをデプロイするたびに PermGen Space Exception が発生します。NetBeansでいくつかの JVm オプションを試しましたが、まだ問題を解決できません。