Java CentOS内存可用性
我的系统有8GB内存,我的系统是CentOS 7。系统信息显示以下内存使用情况Java CentOS内存可用性,java,memory,centos7,Java,Memory,Centos7,我的系统有8GB内存,我的系统是CentOS 7。系统信息显示以下内存使用情况 Memory Information Total memory (RAM): 7.6 GB Free memory: 143.4 MB (+ 6.1 GB Caches) Free swap: 7.8 GB 这是否意味着可用内存只有143.4MB,或143.4+6.1BG?为什么是缓存? 这正常吗?我问这个问题是因为我正在运行一个Java问题,但收到一个OutOfMemory异常。我在想我的操作系统是
Memory Information
Total memory (RAM): 7.6 GB
Free memory: 143.4 MB (+ 6.1 GB Caches)
Free swap: 7.8 GB
这是否意味着可用内存只有143.4MB,或143.4+6.1BG?为什么是缓存?
这正常吗?我问这个问题是因为我正在运行一个Java问题,但收到一个OutOfMemory异常。我在想我的操作系统是否有问题 更有可能需要在增加最大内存设置的情况下运行JVM。JVM将以其自身的内存使用限制(取决于操作系统的可用限制)运行 e、 g 将以2Gb的最大内存设置运行JVM。有关更多信息,请参阅
如果您遇到
OutOfMemoryException
,则可能需要调整此设置。JVM也可能无法从操作系统分配内存,或者您的程序存在内存泄漏,但是设置-Xmx
是解决此类问题的合理的第一种方法。请注意,以类似的方式设置-Xms
,将强制JVM在启动时分配内存,这不仅是一种优化,而且是内存不足的早期警告。有关更多信息,请参阅。更有可能需要在增加最大内存设置的情况下运行JVM。JVM将以其自身的内存使用限制(取决于操作系统的可用限制)运行
e、 g
将以2Gb的最大内存设置运行JVM。有关更多信息,请参阅
如果您遇到OutOfMemoryException
,则可能需要调整此设置。JVM也可能无法从操作系统分配内存,或者您的程序存在内存泄漏,但是设置-Xmx
是解决此类问题的合理的第一种方法。请注意,以类似的方式设置-Xms
,将强制JVM在启动时分配内存,这不仅是一种优化,而且是内存不足的早期警告。有关更多信息,请参阅
我在想我的操作系统是否有问题
没有。问题要么在于程序(占用太多内存或内存泄漏)要么在于运行它的方式(堆太小)。Brian的回答解释了这一点,并提供了一些解决方案
这是否意味着可用内存只有143.4MB,或143.4+6.1BG?为什么是缓存?这正常吗
是的,这很正常
“空闲内存”是指当前不用于任何其他用途的RAM页面,可以立即分发给需要它们的应用程序
“磁盘缓存”是当前保存文件系统磁盘块副本的RAM页。它们用于加快文件读取速度(大大加快)。它们被视为可用内存的原因是操作系统可以几乎零成本回收它们。事实上,如果启动更多的应用程序,您会发现磁盘缓存的大小会自动减小
我在想我的操作系统是否有问题
没有。问题要么在于程序(占用太多内存或内存泄漏)要么在于运行它的方式(堆太小)。Brian的回答解释了这一点,并提供了一些解决方案
这是否意味着可用内存只有143.4MB,或143.4+6.1BG?为什么是缓存?这正常吗
是的,这很正常
“空闲内存”是指当前不用于任何其他用途的RAM页面,可以立即分发给需要它们的应用程序
“磁盘缓存”是当前保存文件系统磁盘块副本的RAM页。它们用于加快文件读取速度(大大加快)。它们被视为可用内存的原因是操作系统可以几乎零成本回收它们。事实上,如果启动更多的应用程序,您会发现磁盘缓存的大小会自动减小
$ java -Xmx2048m ...