java - 如何解决java.lang.OutOfMemoryError?

标签 java exception jersey out-of-memory twilio

此问题与 tomcat 最大/最小堆大小有关吗?

如果我增加tomcat配置中的java堆大小可以解决这个问题吗?

com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException SEVERE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container java.lang.OutOfMemoryError

at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:215) at java.util.zip.ZipFile.(ZipFile.java:145) at java.util.jar.JarFile.(JarFile.java:154) at java.util.jar.JarFile.(JarFile.java:91) at sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:93) at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69) at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:99) at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)

我在Linux-os(32位)上安装了tomcat-7.0.63和Java 1.7,
我最近将 Twilio 库更新到最新版本,是否会导致内存泄漏?

最佳答案

OutOfMemoryError 用于报告不同的问题,例如堆空间耗尽、GC CPU 阈值达到、文件描述符耗尽等。错误后的消息告诉您实际问题是什么。

由于您的堆栈跟踪以 java.util.zip.ZipFile.open() 开头,因此很可能是文件描述符耗尽。由于您使用的是 Linux,因此您应该检查 ulimit -a看看你的限制是否可以接受。要么:

  1. 如果您的应用程序需要更高的限制,请增加限制

  2. 检查应用程序是否正确关闭资源,您的代码中可能存在错误。

关于java - 如何解决java.lang.OutOfMemoryError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58974583/

相关文章:

java - JERSEY:如何使用注入(inject)注释检索调用 IP 或 URI?

java - 使用 Eclipse 将所有外部类打包到我的 jar 中

java - 在java web中使用OWL API获取快照SPARQL查询

java - 当我使用 Mockito 测试 get 方法时,是否超出了 get 方法的范围?

Android:无法启动 Activity ComponentInfo{/com.}:android.view.InflateException:二进制 XML 文件行错误膨胀类 fragment

android - 我应该使用什么来保护 REST 网络服务中的参数

java - 访问 Struts 2 中的所有用户 session

java - 全局捕获异常

java - 什么是 OutOfMemoryError 以及如何调试和修复它

从 Intellij 切换到 Maven 构建时 Java RS 空指针异常