如何检查除heap和perm gen之外的java内存

时间:2017-07-10 03:35:51

标签: java jmxtrans

我用选项运行jmxtrans:-Xms16m -Xmx16m -XX:MaxPermSize = 32m,但是从os视图开始,进程大约需要190m内存,我使用jstat使用new,old和perm都在我的最大内存设置下那么什么对象占用了额外的记忆?超过150米

ps aux output:

ps aux | grep jmxtrans
root        187  0.4  0.0 5987252 196492 ?      Sl   Jul07  17:15 
/usr/java/jdk7/bin/java -server -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xms16m -Xmx16m -XX:MaxPermSize=32m -Djmxtrans.log.level=info -Djmxtrans.log.dir=. -Dhost=5e7d319eaae7 -DjmxPort=59100 -DserviceName=maxwell -DserviceVersion=v1.0 -jar lib/jmxtrans-all.jar -e -f /jmxtrans/jmxtrans.json -s 60 -c false

jstat输出:

# jstat -gc 187 1 1
S0C    S1C    S0U    S1U      EC       EU        OC         OU       PC     PU    YGC     YGCT    FGC    FGCT     GCT   
512.0  512.0  288.0   0.0    4096.0   1043.8   11264.0     5822.7   26112.0 25959.7   2644   26.102  67     24.894   50.996

1 个答案:

答案 0 :(得分:0)

非堆内存和其他东西,它是非常正常的jvm堆内存与res内存不匹配。见JVM Memory Structure