理由:以下が一般的です:
1.メモリにロードされたデータの量は大きすぎます。たとえば、データベースから一度にデータを取得しすぎるなどです。
2。コレクションクラスにはオブジェクトへの参照があり、JVMをリサイクルできないように、使用後はクリアされません。
3.コードまたはループには、繰り返しが多すぎるループがあります。
4。使用されるサードパーティソフトウェアのバグ。
5.スタートアップパラメーターのメモリ値は小さすぎます。
一般的なエラープロンプト:
1.Tomcat:java.lang.outofmemoryerror:permgenスペース
2.Tomcat:Java.lang.outofMemoryError:Java Heap Space
3. Weblogic:Servletexceptionの根本原因java.lang.outofmemoryerror
4.Resin:java.lang.outofmemoryerror
5.java:java.lang.outofmemoryerror
解決する:
1。アプリケーションサーバーによってプロンプトされたエラーのソリューション:スタートアップパラメーターのメモリ値を十分に大きく設定します。
2。Javaコードによって引き起こされるエラーのソリューション:次のポイントに焦点を当てます。
1)コードにデッドループまたは再帰コールがあるかどうかを確認します。
2)新しいオブジェクトエンティティを繰り返し生成する大きなループがあるかどうかを確認します。
3)データベースクエリ内のすべてのデータを取得したクエリがあるかどうかを確認します。一般的に言えば、一度に100,000のレコードをメモリに入れると、メモリオーバーフローを引き起こす可能性があります。この問題は非常に隠されています。オンラインになる前に、データベースにはデータが少なくなり、問題が発生するのは簡単ではありませんでした。オンラインに進んだ後、データベースにはより多くのデータがあり、単一のクエリがメモリオーバーフローを引き起こす可能性があります。したがって、ページネーションを使用してデータベースクエリを照会してください。
4)リスト、マップなどのコレクションオブジェクトが使用後にクリアされていないかどうかを確認します。リストやマップなどのコレクションオブジェクトには、常にオブジェクトへの参照があり、これらのオブジェクトをGCによってリサイクルできなくなります。
場合:
1. Hibernateがデータを照会すると、一度にデータが多すぎます。その後、このパートのコードが調整され、指定された量のデータのみが一度に取得され、問題を正常に解決します。 2。ストレステストを行うと、OutOfMemoryErrorが表示され、セッションのリソースがリリースされていないことがわかります。セッションのInvalidate()メソッドを使用して、セッションのリソースをリリースするのが最善です。
3.プログラムにデッドループが表示されます。
4. OutOfMemoryErrorは、Tomcatが展開および実行されたときに表示され、この問題を解決するためにメモリパラメーター値が増加します。
java.lang.outofmemoryerror in tomcat:Java Heap Space Exception Handling
1.ヒープサイズJVMヒープの設定は、JVMがJavaプログラム操作中にプロビジョニングできるメモリスペースの設定を参照しています。 JVMが起動すると、ヒープサイズの値が自動的に設定されます。その初期空間(つまり、-XM)は物理メモリの1/64であり、最大空間(-XMX)は物理メモリの1/4です。 -XMN -XMS -XMXとJVMが提供するその他のオプションを使用して設定できます。ヒープサイズのサイズは、若い世代と終身系の属の合計です。ヒント:GCに98%の時間が使用され、利用可能なヒープサイズが2%未満である場合、この例外メッセージはスローされます。ヒント:最大ヒープサイズは、利用可能な物理メモリの80%を超えてはなりません。一般に、-XMNは-XMN値の-XMX値の1/4ですが、-XMSおよび-XMXオプションを同じに設定します。
2。ソリューション:ヒープサイズを手動で設定し、Tomcat_home/bin/catalina.shを修正し、catalina_base:$ catalina_base ""を使用して「echo」に次の行を追加します。
java.lang.outofmemoryerror:permgenスペース例外処理処理
1. permgenスペースpermgenスペースのフルネームは、永久的な生成スペースであり、これはメモリの永久保管エリアを指します。このメモリは、主にJVMによって保存されています。クラスは、ロードされるとPermgenスペースに配置されます。クラスインスタンス(インスタンス)が保存されているヒープ領域とは異なります。 GC(Garbage Collection)は、メインプログラムのランタイム中にPermgenスペースをクリーンアップしません。したがって、アプリケーションに多くのクラスがある場合、Permgenスペースエラーが発生する可能性が非常に高いです。このエラーは、Webサーバーがjspを事前にコンパイルする場合に一般的です。 Webアプリの下で多数のサードパーティのジャーを使用すると、サイズがJVM(4M)のデフォルトサイズを超えると、このエラーメッセージが生成されます。
解決策: Maxpermsizeサイズを手動で設定し、Tomcat_home/bin/catalina.shを変更し、Catalina_base:$ catalina_base "":java_opts = "を使用して「echo」に次の行を追加します。 JARドキュメントの繰り返しメモリ使用量を削減する目的を達成するため。
java.lang.outofmemoryerrorは、ウェブロジックでの処理を例外としています
エラープロンプト:「ervletexceptionの根本原因java.lang.outofmemoryerror」
解決策: bea/weblogic/commonのcommenvのパラメーターを調整します:sun "%production_mode%" == "true" goto sun_prod_mode set java_vm = -client set mem_args = -xms256m -xmx512m -xx:maxpermsize = 256m set java_options = contions :sun_prod_mode set java_vm = -server set mem_args = -xms256m -xmx512m -xx:maxpermsize = 256m goto継続
Java.lang.outofMemoryError EclipseがJboss:Permgen Space Exception Handlingを実行するとき
JBossをEclipseで実行するとき、時間がかかりすぎると、Java.lang.outofMemoryError:Permgenスペースエラー。これがあなたのための解決策です:
1)デバッグアイコンの横にある小さな矢印をクリックします。
2)「デバッグ構成...」メニュー項目をクリックします。
3)左側の「ジェネリックサーバー」ツリーの下にある「localhostでjboss v4.2」を選択します。
4)右側の[引数]タブをクリックして、「VM引数」に追加します。
-dprogram.name = run.bat -djava.endorsed.dirs = "d:/jboss405/bin/../ lib/endoresed" -xms128m -xmx512m -xx:permsize = 64m -xx:maxpermsize = 256m
5)コマンドラインモードでJBossを実行するか、「run.bat」を直接クリックする場合、bin/run.confファイルのJVMオプションを変更する必要があります。Java_opts= "-xms128m -xmx512m ..."段落を見つけてから、 "-xx:64m -xx:maxpermsize = 256m"それを保存しても大丈夫です。
6)注:数字128、512、64、および256は、マシンの構成に従って調整し、[適用]をクリックします。
java.lang.outofmemoryerror樹脂での処理
理由:このエラーは、JVMの物理メモリが小さすぎるために発生します。デフォルトのJava仮想マシンの最大メモリはわずか64メガバイトであり、開発やデバッグ中に問題はないかもしれませんが、アプリケーションが非常に少なくアクセスできない限り、実際のアプリケーション環境でニーズを満たすことにはほど遠いです。それ以外の場合、プログラムが一定期間実行された後、パッケージjava.lang.outofmemoryerrorにエラーが見つかる場合があります。したがって、貯水池が利用できる仮想マシンメモリのサイズを増やす必要があります。
解決策: /usr/local/resin/bin/httpd.shのargsオプションを変更して、JVMの物理メモリ使用量を制限するために使用できるパラメーター-xms(初期メモリ)と-xmx(最大メモリサイズを使用できます)を追加します。たとえば、Args = "-XMS128M -XMX256Mを設定した後、JVMの最初の物理メモリは128mで、最大の物理メモリを使用できます。これらの2つの値は、サーバーの実際の状況に従ってシステム管理者によって設定する必要があります。
上記は、java.lang.outofmemoryerrorのエラー処理問題に対する完璧なソリューションの完全なコンテンツです。誰もがwulin.comをサポートすることを願っています〜