我正在使用java 8上的不同jvm选项进行实验以降低RSS:
用于Rss跟踪的脚本:
ps -o rss -o vsz -o pid $pid
用于设置java进程的JVM参数:
-XX:+PrintNMTStatistics -XX:+UnlockDiagnosticVMOptions -XX:NativeMemoryTracking=detail
使用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)
问题 :
从上面的输出中考虑RSS的内存是committed
还是reserved
?
答案 0 :(得分:3)
保留/已提交和驻留/虚拟之间的关系稍微复杂一些。 RSS涵盖物理内存中的驻留页面。已被分页(或从未被分页)的内容可以是提交内存但不是常驻内容。
也许这会回答你的问题:保留但未提交的页面不能是常驻页面。