我正在开发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/