我有10 GB RAM
应用程序最大堆:8 GB
当前应用程序堆使用量:3 GB
可用内存:188mb
total used free shared buff/cache available
Mem: 9993 9362 188 2 442 326
Swap: 4095 866 3229
因此,如果我们将Xmx分配给8GB。 RAM会为应用程序堆保留8GB吗?
答案 0 :(得分:0)
JVM将在其虚拟地址空间中为Java Heap保留8GB。
请注意,还有其他内存区域用于线程堆栈,GC,JIT代码缓存,直接缓冲区等,因此您的Java进程可能消耗的内存不只是-Xmx
。
我不确定说“堆使用量少但可用内存少”时会遇到什么,但是如果您想知道为什么内存的可用部分不是〜2 GB或什至〜7 GB , 则可能是因为: