我最近遇到了一个小问题:我正在使用JADE为大学开发Java中的多代理模拟。很快,一个早期的版本应该被呈现给经济中的一些人,因为他们对我们正在进行的研究感兴趣。该程序应该在32位Windows系统上运行。似乎除此之外别无选择。现在,为了尽可能简单地在多个系统上运行程序,我想将它与一个32位VirtualBox VM中的MySQL服务器(用于数据保存)捆绑在一起。 VM正在运行Windows 7.
现在,将程序移动到VM并运行它就像一个魅力。但是,一旦程序需要大约400mb的RAM,它就会停止分配新内存并开始交换,尽管guest虚拟机系统有足够的可用空间。这使它几乎无法使用。在命令行上使用-XMX和-XMS似乎没有效果。
在我的主机系统(64位,Windows 7)上,它运行没有问题,并分配它需要的空间(大约2.5 GB)。两个系统都运行最新版本的Oracle Java(主机上为64位,来宾系统上为32位)。
我会非常感谢有关此问题的任何想法。
答案 0 :(得分:0)
我认为问题在于JVM需要一个连续的地址空间,虽然理论上~3GB的内存可用,但我无法得到,因为有些库是在随机位置加载的。唯一的快速解决方案似乎是切换到非Windows系统。谢谢Danielson。
的回答