V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Lowang
V2EX  ›  Java

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

  •  
  •   Lowang · 2018-03-15 08:43:41 +08:00 · 4011 次点击
    这是一个创建于 2479 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的 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 大小,还没开始看。

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

    8 条回复    2018-03-16 18:48:08 +08:00
    caixiexin
        1
    caixiexin  
       2018-03-15 08:45:39 +08:00 via Android
    用 free 命令看呢,扣掉缓存内存实际使用量多少
    liwl
        2
    liwl  
       2018-03-15 08:53:03 +08:00
    加内存
    Lowang
        3
    Lowang  
    OP
       2018-03-15 09:10:38 +08:00 via Android
    @caixiexin 没注意,我下次看下,这个和缓存大小有什么关系呢
    sagaxu
        4
    sagaxu  
       2018-03-15 09:33:42 +08:00 via Android
    1g xmx 会配比 1g direct memory buffer,所以总内存上限是 2g,加上其它一些开销,2g 稍稍出头也是有可能的。
    DRcoding
        5
    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
        6
    caixiexin  
       2018-03-15 18:13:07 +08:00 via Android
    @Lowang Linux 下内存使用跟 win 有点不一样,会有缓存。Linux 下真正的内存使用情况是 free 的 -buffers/cache 列
    Lowang
        7
    Lowang  
    OP
       2018-03-16 18:45:54 +08:00 via Android
    @sagaxu 谢谢
    Lowang
        8
    Lowang  
    OP
       2018-03-16 18:48:08 +08:00 via Android
    @DRcoding 谢了老哥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1360 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:34 · PVG 01:34 · LAX 09:34 · JFK 12:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.