12

私はウェブロジックが初めてです。管理者コンソールが表示されてログインしたときにサーバーを起動すると、以下の例外がスローされます。

Root cause of ServletException.
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:335)
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:288)
Truncated. see log file for complete stacktrace

私は多くのグーグルを行い、などを初期化するためのいくつかの解決策を見つけましたJAVA_OPTIONS。これをファイル-XX:xmxに設定しようとしましたが、うまくいきませんでした。startdomainenv.cmd

助けてください。どんな指針も高く評価されます。

ありがとう。

4

5 に答える 5

13

PermGenのサイズを設定するには、たとえば-XX:PermSize=512m -XX:MaxPermSize=512m.

Weblogicに関しては、 JAVA_OPTIONS を設定し、これらのオプションがパラメータとして Java プロセスに適切に渡されるかどうかを確認します。startWeblogic.cmdこれらのパラメーターをスクリプトで直接設定することもできます。

JAVA_OPTIONS正しく設定されていることを確認するには、スクリプトに追加echo %JAVA_OPTIONS%して出力を確認します。startWeblogic.cmdまた、たとえばjConsolejstat、またはjmapを使用して、実行時に Weblogic プロセスのヒープ使用量を監視できます。これにより、 PermGenのサイズと占有率が表示されます。

于 2013-02-19T00:58:13.487 に答える
7

サーバーの weblogic のメモリ設定を変更して試すことができます。* に移動 - <weblogic path>\Middleware\user_projects\domains\fms_domain\bin\setDomainEnv.cmd * ファイルを開く * 設定を変更する

if "%JAVA_VENDOR%"=="Sun" (
set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m
set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m
) else (
set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m
set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m
)

これらの設定は、要件と環境に従って変更してください。

于 2013-08-13T10:49:49.397 に答える
0

DOMAIN\bin\setDomainEnv.cmd私の場合、解決策はファイルを編集することでした。サーバーが意図したとおりに起動する前に、次の変更が行われました。

  • -Xmsとの-Xmx値が増加しました
  • -XX:PermSizeとの-XX:MaxPermSize値も増加しました

そして最後に、しかしおそらく最も重要なことは

  • 私のJVMを正しく認識するために条件if "%JAVA_VENDOR%"=="Sun" (が変更されました。if "%JAVA_VENDOR%"=="Oracle" (

この最後の変更の前は、メモリの変更は初期化された JVM に部分的にしか反映されていませんでした。これは、PermGen スペースに関するパラメーターが単純に無視されることを意味していました。

于 2014-04-24T11:36:02.100 に答える
0

問題を解決したことを共有したいだけです。 setDomainEnv.sh と echo ${JAVA_OPTIONS} を入手したところ、MEM 引数が存在しないことに気付きました。

そこで、JAVA_OPTIONS の最後のセットアップに MEM_ARGS を追加しました。

以下のように:
JAVA_OPTIONS="${JAVA_OPTIONS} ${MEM_ARGS}" export JAVA_OPTIONS

乾杯

于 2015-04-21T05:40:24.807 に答える