java - apache-tomcat-8.0.14 中的内存泄漏

标签 java tomcat grails

运行标准的 tomcat 8.0.14,开箱即用,在托管公司运行。 我在 CentOS 服务器上使用 java jre1.8.0_05。从一开始唯一的改变就是改变一些端口。

到目前为止一切顺利,欢迎使用 Apache 消息,然后我的托管公司将其终止,因为它已经超过 1048 MB。所以我想我会在 setenv.sh 中设置最大内存

export JAVA_OPTS="-Djava.awt.headless=true -server -Xms48m -Xmx256m"

应该将最大内存设置为 256,但如果我部署 hello.war(基本上,运行 grails hello world,然后添加一个渲染,这是项目的休息),它只会继续增长。它现在高达 399 mb

那么有什么办法可以设置硬限制,为什么hello world会觉得需要399mb

有什么建议吗?

最佳答案

有没有OOM错误?如果是这样,请提供详细信息。 你用的是什么JDK?您是否监控堆使用情况以查明它是否与 Eden 或永久空间有关。 我建议使用 jvisualvm 等工具进行内存采样,以找出哪个类正在使用那么多内存。

肯定有什么东西正在吞噬你的内存,只有你进行采样才能找到。

或者,您也可以使用堆转储来找出正在增长的对象。

关于java - apache-tomcat-8.0.14 中的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26316591/

相关文章:

java - 使用JAVA的单实例文件存储

java - 泛型函数调用未在扩展多个接口(interface)的 Java 8 中编译

Tomcat 5.0.28 内存不足错误

tomcat - 为 Windows 配置 Tomcat 服务器

grails - Grails remoteLink与<a>

java - 如何以编程方式验证 Spring Boot 端点?

通过 Tomcat 阀启用重写后,Javascript 被加载两次

grails - Groovy服务器页面中的异常处理

testing - 将几个 grails 测试类中使用的可重用测试方法放在哪里

java - android 中的事件处理程序 - 设计器时间自动化并在单独的处理程序中处理 2 个 View