java - 交换内存不足

标签 java

我正在开发java应用程序,我已经在VM选项中设置了以下配置

  • -Xms 和 -Xmx 选项设置为 1024m
  • -XX:MaxPermSize=128m 硬件:32 位 Windows 7 系统,2GB 内存。

我经常遇到 java out of swap space 错误。可能是什么原因?请帮助我。

最佳答案

原因是您的操作系统没有为您正在运行的作业组合配置足够的交换空间。交换空间是磁盘上的一个区域,当虚拟内存页多于物理内存页时,操作系统会在其中放置副本内存页。

所以发生的情况是,您的 JVM 请求的虚拟内存超出了操作系统所能提供的数量。

(已更新以包含 Peter 的评论)

一些可能的修复:

  • 添加更多物理内存(假设硬件和操作系统允许)。 (在这种情况下,操作系统应该允许它......)

  • 为系统配置更多交换空间。

  • 终止计算机上运行的一些其他非必需应用程序和服务。

  • 更改 Java 应用程序的 JVM 选项以减小堆大小。

关于java - 交换内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9645609/

相关文章:

java - 如何在不陷入无限反序列化循环的情况下反序列化与渴望双方的一对多关系

java - Selenium Java 和 PageObjectModel 用于通过 id 查找包含字符串的元素

java - Spock可以模拟Java构造函数吗

Java 与不同类中的对象交互

java - 我们什么时候在 JUnit 中使用 'Theories'?

java - 摆脱 "No Hibernate Session bound to thread"并在读取方法上使用 @Transactional 进行性能

java - 破砖机砖颜色

java - 根据文件内的字符查找文件类型

java - 在 java 中使用 Apache Poi 进行公式计算

java - 查找每一行的整数和字符串并将它们放入数组中?