请教问题: tomcat 在 centos 下运行,内存占用过高的问题怎么处理

2018-03-15 08:43:41 +08:00
 Lowang

用的 tomcat8.0,jdk1.8,centos7 jvm 配置:-Xms512M -Xmx1024M -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:MaxNewSize=128m -XX:OldSize=256m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70 -XX:MaxTenuringThreshold=15

但是实际运行一段时间(大约 1-2 天),内存会飙升到很高,使用 top 查看的话,RES 列达到 1.6G+。 昨晚 jmap -dump:format=b,file= 命令,dump 的文件约 477m 大小,还没开始看。

请求大神指导下该从何分析。。

3993 次点击
所在节点    Java
8 条回复
caixiexin
2018-03-15 08:45:39 +08:00
用 free 命令看呢,扣掉缓存内存实际使用量多少
liwl
2018-03-15 08:53:03 +08:00
加内存
Lowang
2018-03-15 09:10:38 +08:00
@caixiexin 没注意,我下次看下,这个和缓存大小有什么关系呢
sagaxu
2018-03-15 09:33:42 +08:00
1g xmx 会配比 1g direct memory buffer,所以总内存上限是 2g,加上其它一些开销,2g 稍稍出头也是有可能的。
DRcoding
2018-03-15 09:34:40 +08:00
https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threads

看看吧,应该会有帮助,另外这配置,冲钱就能变强,哈哈
caixiexin
2018-03-15 18:13:07 +08:00
@Lowang Linux 下内存使用跟 win 有点不一样,会有缓存。Linux 下真正的内存使用情况是 free 的 -buffers/cache 列
Lowang
2018-03-16 18:45:54 +08:00
@sagaxu 谢谢
Lowang
2018-03-16 18:48:08 +08:00
@DRcoding 谢了老哥

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/438167

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX