V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ccmoon
V2EX  ›  Java

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

  •  
  •   ccmoon · Mar 15, 2018 · 4409 views
    This topic created in 2978 days ago, the information mentioned may be changed or developed.

    用的 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 replies    2018-03-16 18:48:08 +08:00
    caixiexin
        1
    caixiexin  
       Mar 15, 2018 via Android
    用 free 命令看呢,扣掉缓存内存实际使用量多少
    liwl
        2
    liwl  
       Mar 15, 2018
    加内存
    ccmoon
        3
    ccmoon  
    OP
       Mar 15, 2018 via Android
    @caixiexin 没注意,我下次看下,这个和缓存大小有什么关系呢
    sagaxu
        4
    sagaxu  
       Mar 15, 2018 via Android
    1g xmx 会配比 1g direct memory buffer,所以总内存上限是 2g,加上其它一些开销,2g 稍稍出头也是有可能的。
    DRcoding
        5
    DRcoding  
       Mar 15, 2018
    https://github.com/oldratlee/useful-scripts/blob/master/docs/java.md#beer-show-busy-java-threads

    看看吧,应该会有帮助,另外这配置,冲钱就能变强,哈哈
    caixiexin
        6
    caixiexin  
       Mar 15, 2018 via Android
    @Lowang Linux 下内存使用跟 win 有点不一样,会有缓存。Linux 下真正的内存使用情况是 free 的 -buffers/cache 列
    ccmoon
        7
    ccmoon  
    OP
       Mar 16, 2018 via Android
    @sagaxu 谢谢
    ccmoon
        8
    ccmoon  
    OP
       Mar 16, 2018 via Android
    @DRcoding 谢了老哥
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2876 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 02:30 · PVG 10:30 · LAX 19:30 · JFK 22:30
    ♥ Do have faith in what you're doing.