java - CentOS 内存可用性

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

最佳答案

您更有可能需要以增加的最大内存设置来运行 JVM。 JVM 将在其自身的内存使用限制下运行(受操作系统可用的限制)。

例如

$ java -Xmx2048m ...

将以最大内存设置 2Gb 运行 JVM。请参阅here了解更多信息。

如果您遇到 OutOfMemoryException 问题,那么您可能需要调整此设置。 JVM 也有可能无法从操作系统分配该内存,或者您的程序出现内存泄漏,但设置 -Xmx 是解决此类问题的第一个合理方法。请注意,以类似的方式设置 -Xms 将强制 JVM 在启动时分配内存,这不仅可以作为优化,而且还可以作为分配内存不足的早期警告。请参阅here了解更多信息。

关于java - CentOS 内存可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30698936/

相关文章:

java - ElasticSearch:Java 高级 API - 具有动态 ID 的索引文档

apache-spark - 具有 32GB 或更多内存的 spark worker 遇到 fatal error

hadoop - Sqoop 创建配置单元表错误-运行创建表作业时遇到 IOException

amazon-ec2 - AWS和centOS分配私有(private)IP

java - 哪里可以找到如何计算 java 对象大小的证据

linux - centos 7 : nginx Failed to read PID from file/run/nginx. pid:参数无效

java - Java 中的 Class.getArrayType?

java - 从 Lucene 3.0 迁移到 4.9.0

java - 用于 4 眼检查的 hibernate 锁定对象

c++ - 在有向邻接表图中存储不同大小的边