0

我试图在带有嵌入式 tomcat 的 web spring boot 应用程序中找到内存泄漏。我执行jcmd PID GC.heap_dump /file.hprof并获得了大小约为 400Mb 的转储文件。我在 VisualVM 中打开该文件,它显示堆大小:393,958,104B。之后我执行jcmd PID VM.native_memory details并在输出文件中得到了关注

Java Heap (reserved=3145728KB, committed=2148864KB)
(mmap: reserved=3145728KB, committed=2148864KB)

为什么差别这么大?

PS我知道jcmd PID GC.heap_dump默认情况下只检查活动对象,但我先运行它并执行jmap -dump:file=/afile.hprof PID以确保大小相同并执行 GC.run 几次,然后才运行jcmd PID VM.native_memory details

4

0 回答 0