1

私はjdk 8でTomcat 8を使用しています。メタスペースは1GBに設定されていますが、これで十分だと感じています.OutOfMemoryError例外が発生しています。クラス (SSLEngineImpl.java:1796) をチェックして原因を突き止めようとしましたが、エラーの行がクラスのロードを参照していないようです。誰でもこれについて助けてもらえますか?

[http-nio-8202-exec-2] org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun 
 java.lang.OutOfMemoryError: Metaspace
    at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1796)
    at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1083)
    at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:907)
    at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
    at org.apache.tomcat.util.net.SecureNioChannel.handshakeUnwrap(SecureNioChannel.java:350)
    at org.apache.tomcat.util.net.SecureNioChannel.handshake(SecureNioChannel.java:208)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1496)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
4

1 に答える 1

1

ドキュメントから

スレッド thread_name の例外: java.lang.OutOfMemoryError: Metaspace 原因: Java クラス メタデータ (Java クラスの仮想マシン内部表現) がネイティブ メモリ (ここではメタスペースと呼ばれます) に割り当てられています。クラス メタデータ メタスペースが使い果たされると、MetaSpace の詳細が " " java.lang.OutOfMemoryError の例外がスローされます。クラス メタデータに使用できるメタスペースの量は、コマンド ラインで指定されたパラメータによって制限される MaxMetaSpaceSize です。クラス メタデータに必要なネイティブ メモリの量を超えると、MaxMetaSpaceSize の詳細とともに例外がスローされます。MetaSpace は、Java ヒープと同じアドレス空間から割り当てられます。Java ヒープ MetaSpace のサイズを縮小すると、使用可能なスペースが増加します。このトレードオフは、Java ヒープに余分な空き領域がある場合にのみ当てはまります。「Out of swap space」に続いて、詳細メッセージの「対処法」を参照してください。

Java 8 以降では、次のコマンドを使用してメタスペースの初期サイズと最大サイズを設定できます。

-XX:MetaspaceSize=N  - sets the initial (and minimum size) of the Metaspace.

-XX:MaxMetaspaceSize=N  - sets the maximum size of the Metaspace.
于 2019-05-11T15:19:43.593 に答える