要分析这个问题,理解JVM和操作系统之间的内存关系非常重要。下图给出了硬件、系统、进程三个层面的内存之间的概要关系。从硬件上看,Linux系统的内存空间由两个部分构成:物理内存和SWAP(位于磁盘)。用内核内存,或者是映射到内核空间。从上面可以看出,内核内存对于Java程序性能也非常重要,因此,在划分系统内存使用时候,一定要给内核留出一定可用空间。
要分析这个问题,理解JVM和操作系统之间的内存关系非常重要。下图给出了硬件、系统、进程三个层面的内存之间的概要关系。从硬件上看,Linux系统的内存空间由两个部分构成:物理内存和SWAP(位于磁盘)。用内核内存,或者是映射到内核空间。从上面可以看出,内核内存对于Java程序性能也非常重要,因此,在划分系统内存使用时候,一定要给内核留出一定可用空间。