Tomcat 8元空间OutOfMemory问题

时间:2019-05-11 15:05:36

标签: java out-of-memory tomcat8 metaspace

我将tomcat 8与jdk 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)

1 个答案:

答案 0 :(得分:0)

来自文档

  

线程thread_name中的异常:java.lang.OutOfMemoryError:   Metaspace原因:Java类元数据(虚拟机内部   Java类的表示形式)分配在本机内存中(此处   称为元空间)。当类元数据元空间用尽时,   MetaSpace的异常“” java.lang.OutOfMemoryError的详细信息是   抛出。可用于类元数据的元空间为   MaxMetaSpaceSize受命令上指定的参数限制   线。如果发生异常,则会抛出详细信息MaxMetaSpaceSize的异常。   类元数据所需的本机内存量已超出   .MetaSpacejava.lang.OutOfMemoryError操作:如果MaxMetaSpaceSize为   在命令行上设置,增加其值。已分配MetaSpace   来自与Java堆相同的地址空间。减小尺寸   Java堆MetaSpace增加了可用空间。权衡   仅当Java堆中有多余的可用空间时才保留。以下   “交换空间不足”请参阅“处理”的详细信息   消息。

在Java 8及更高版本中,我们可以使用以下命令设置Metaspace的初始大小和最大大小:

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

-XX:MaxMetaspaceSize=N  - sets the maximum size of the Metaspace.