我的情况是这样的:我有一个需要大量内存的任务,但我没有足够的RAM,无论我尝试了什么(如使用/3gb开关的Jrockit),我都无法为JVM提供足够的内存,操作被异常终止,告诉我需要更多的堆空间。
有没有办法强制JVM使用操作系统的换页机制,以便它不会耗尽内存?这是Windows xp 32位。
虽然这可能需要很长时间,但我并不在意,我只需要完成这个操作。
我已经没有其他选择,也无法控制任何变量。
这是必需的编辑,因为几乎每个人都对我做出了同样的回应:) 这不是我的代码。某人编写了一个工具,将xml文件读入存储库。该工具使用EMF,一次性加载整个模型。我能做的就是向其提供XML文件。
在运行于Windows或Linux等操作系统的本机代码中,操作系统会为其提供内存,并使用虚拟内存/交换空间,应用程序并不知道这一点。我想知道是否可以使JVM也能这样运行。在Windows 32位下,-Xmx可以增加到一定量,但那还不够。目前购买新硬件不是我的选择。所以我想知道是否有可能使JVM像本机进程一样工作,虽然慢但仍然能够正常工作。
显然这是不可能的,我没什么办法了。我只是想知道是否真的没有其他选择。