我使用选项运行 jmxtrans:-Xms16m -Xmx16m -XX:MaxPermSize=32m,但是从操作系统的角度来看,该进程占用了大约 190m 内存,我使用 jstat 新、旧和 perm 的使用量都在我的最大内存设置下,那又如何对象占用了额外的内存?超过 150m
ps辅助输出:
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