我运行jmxtrans选项:-Xms16m -Xmx16m -XX:MaxPermSize=32m,但是从os的角度来看,进程占用了大约19M内存,我使用jstat新的,旧的和perm的使用都在我的最大内存设置下,那么是什么对象占用了额外的内存呢?超过150万
ps aux输出:
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 falsejstat输出:
# 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发布于 2017-07-10 13:22:31
非堆内存和其他东西,这是非常正常的jvm堆内存不匹配的res内存。请参阅JVM Memory Structure
https://stackoverflow.com/questions/45003438
复制相似问题