0

我使用选项运行 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
4

1 回答 1

0

非堆内存和其他东西,这是很正常的jvm堆内存与res内存不匹配。请参阅JVM 内存结构

于 2017-07-10T05:22:30.910 回答