Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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 CentOS内存可用性_Java_Memory_Centos7 - Fatal编程技术网

Java CentOS内存可用性

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异常。我在想我的操作系统是

我的系统有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异常。我在想我的操作系统是否有问题

更有可能需要在增加最大内存设置的情况下运行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 ...