我正在使用Java应用程序,并且在VM选项中设置了以下配置
-Xms和-Xmx选项设置为1024m
-XX:MaxPermSize = 128m硬件:32位Windows 7系统,内存为2GB。
我经常遇到Java交换空间不足错误。可能是什么原因?请帮我。
最佳答案
原因是您的操作系统没有为正在运行的作业组合配置足够的交换空间。交换空间是磁盘上的一个区域,当虚拟内存页比物理内存页多时,操作系统会在其中放置副本内存页。
因此,发生的事情是您的JVM请求的虚拟内存超出了操作系统所能提供的数量。
(已更新,以包括Peter的评论)
一些可能的修复:
假设硬件和操作系统允许这样做,则添加更多的物理内存。 (在这种情况下,操作系统应允许答案...)
配置具有更多交换空间的系统。
杀死计算机上运行的其他一些不必要的应用程序和服务。
更改Java应用程序的JVM选项以减小堆大小。
关于java - 换出内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9645609/