首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat 8 metaspace OutOfMemory问题

Tomcat 8 metaspace OutOfMemory问题
EN

Stack Overflow用户
提问于 2019-05-11 15:05:35
回答 1查看 2.6K关注 0票数 1

我在jdk 8中使用tomcat 8,Metaspace设置为1GB,我觉得这已经足够了,我得到了OutOfMemoryError异常。我试着检查类(SSLEngineImpl.java:1796),以得到导致这种情况的原因,但是错误的行似乎没有引用任何类的负载。有人能帮忙吗?

代码语言:javascript
复制
[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)
EN

回答 1

Stack Overflow用户

发布于 2019-05-11 15:19:43

从医生那里

线程thread_name中的异常: java.lang.OutOfMemoryError: Metaspace原因: Java元数据(虚拟机内部表示Java类)被分配到本机内存中(这里称为metaspace)。当类元数据元数据耗尽时,metaspace异常将抛出“java.lang.OutOfMemoryError”的详细信息。类元数据可用的元空间数量受命令行上指定的参数的MaxMetaSpaceSize限制。如果类元数据所需的本机内存量超过.MetaSpacejava.lang.OutOfMemoryError操作,则抛出details MaxMetaSpaceSize异常:如果在命令行上设置了MaxMetaSpaceSize,则增加其值。从与Java堆相同的地址空间分配元空间。减少Java堆MetaSpace的大小会增加它可用的空间。只有在Java堆中有额外的空闲空间时,这种权衡才能成立。在“交换空间外”之后,请参阅详细信息的“处理”。

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

代码语言:javascript
复制
-XX:MetaspaceSize=N  - sets the initial (and minimum size) of the Metaspace.

-XX:MaxMetaspaceSize=N  - sets the maximum size of the Metaspace.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56091525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档