Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MemoryUsage初始大小大于最大大小_Java_Garbage Collection_Heap_Javabeans_Heap Memory - Fatal编程技术网

Java MemoryUsage初始大小大于最大大小

Java MemoryUsage初始大小大于最大大小,java,garbage-collection,heap,javabeans,heap-memory,Java,Garbage Collection,Heap,Javabeans,Heap Memory,我使用vm参数配置自己的堆大小: -Xmx5g -Xms5g -XX:NewSize=1g 我尝试使用java mxbeans监视应用程序的堆使用情况: ManagementFactory.getMemoryMXBean().getHeapMemoryUsage() 奇怪的是,我得到的结果毫无意义 堆初始大小大于最大堆大小 init = 5368709120(5242880K) used = 209032600(204133K) committed = 5145034752(5024448K

我使用vm参数配置自己的堆大小:

-Xmx5g
-Xms5g
-XX:NewSize=1g
我尝试使用java mxbeans监视应用程序的堆使用情况:

ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()
奇怪的是,我得到的结果毫无意义 堆初始大小大于最大堆大小

init = 5368709120(5242880K)
used = 209032600(204133K)
committed = 5145034752(5024448K)
max = 5145034752(5024448K)
你知道怎么可能吗

顺便说一句,如果我运行的是jvisualvm,我可以看到正确的最大值:

Max是Jvm可以为您的程序寻址的内存。一些内存始终保留用于管理。heap init size是正确的:
-Xms5g
=1024^3*5=5368709120但Java无法使用所有内存,因为它不可用。请查看我添加的图像,jvisualvm似乎知道如何读取正确的数字。无论如何,我希望最大堆大小大于或等于init size,而不是相反