java程序的总分配

java程序的总分配,java,memory-management,jvm,heap-memory,allocation,Java,Memory Management,Jvm,Heap Memory,Allocation,我试图弄清楚一个java程序分配了多少内存,我相信JVM并没有为此提供选项 我错了吗 因此,我正在使用这些选项运行我的程序 -XX:+PrintGCDetails-XX:+PrintGCDateStamps 到目前为止,我使用了G1GC收集器和并发标记和扫描收集器 对于这两个采集器,我得到了以下输出: 堆 垃圾第一堆总计27545600K,使用量1882393K。。。 区域大小4096K,289名年轻人(1183744K),41名幸存者(167936K) 元空间使用3687K,容量4660K,提

我试图弄清楚一个java程序分配了多少内存,我相信JVM并没有为此提供选项

我错了吗

因此,我正在使用这些选项运行我的程序

-XX:+PrintGCDetails-XX:+PrintGCDateStamps

到目前为止,我使用了G1GC收集器和并发标记和扫描收集器

对于这两个采集器,我得到了以下输出:

堆
垃圾第一堆总计27545600K,使用量1882393K。。。
区域大小4096K,289名年轻人(1183744K),41名幸存者(167936K)
元空间使用3687K,容量4660K,提交4864K,保留1056768K

堆
PAR新一代总计62054K,使用31988 48 K…
伊甸园空间551616K,使用率52%。。。
从空间68928K,40%已使用。。。
到空间68928K,已使用0%。。。
并发标记扫描生成总计1379008K,使用44914K[0x000000015fb90000,0x00000001b3e40000,0x000000080000000)
元空间使用3688K,容量4660K,提交4864K,保留1056768K

我想知道“total”旁边的值是否是我想要的

如果是,那么“使用”旁边的值是什么

提前感谢

在“使用”旁边的数字是总金额中使用的金额。要算出分配的金额,您可以合计已释放的金额加上使用金额的差额

但是,使用内存档案器(如flight recorder或VisualVM)可以更轻松地分析内存使用情况及其原因。

因此“used”字段包含在执行结束时未收集的字节数,即仍分配了多少内存。正确吗?