我正在 java 8 上使用不同的 jvm 选项进行实验,以降低 RSS:
-
用于 Rss 跟踪的脚本:
ps -o rss -o vsz -o pid $pid
-
用于设置 java 进程的 JVM 参数:
-XX:+PrintNMTStatistics -XX:+UnlockDiagnosticVMOptions -XX:NativeMemoryTracking=detail https://docs.oracle.com/javase/8/docs/technotes/guides/vm/nmt-8.html
-
使用 jcmd 获取基线:
jcmd $pid VM.native_memory baseline
-
使用 jcmd 进行比较:
jcmd $pid VM.native_memory summary.diff
输出(线程区域的部分):
- Thread (reserved=130696KB -21564KB, committed=130696KB -21564KB)
(thread #121 -21)
(stack: reserved=130048KB -21504KB, committed=130048KB -21504KB)
(malloc=379KB -67KB #610 -105)
(arena=268KB +7 #240 -42)
Question:
上面输出中的 RSS 将考虑哪些内存?committed
or reserved
?
保留/提交和驻留/虚拟之间的关系稍微复杂一些。 RSS 封面页resident在物理内存中。已调出(或从未调入)的内容可以提交内存,但不能常驻。
也许这回答了您的问题:保留但未提交的页面不能驻留。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)