我正在 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)
Run Code Online (Sandbox Code Playgroud)
问题:上面输出的 RSS 将考虑什么内存,是committed
还是reserved
?
保留/提交和驻留/虚拟之间的关系稍微复杂一些。RSS 覆盖驻留在物理内存中的页面。已调出(或从未调入)的内容可以提交内存,但不能常驻。
也许这回答了您的问题:保留但未提交的页面不能驻留。
归档时间: |
|
查看次数: |
1523 次 |
最近记录: |