当我有8GB可用时,我的虚拟内存不会高于2GB.
我正在运行安装了Java JRE 1.6_25的Ubuntu 10.10 x86.
当我尝试启动.jar文件时,它只会立即崩溃.
当我将VM设置为时,它工作正常.2048M
这些是我用来定义VM的参数-Xmx4096M -Xms4096M
感谢任何帮助:)
如果这是一个32位虚拟机,你将不会高于2G(或接近3G,内核配置为3G/1G用户空间/内核地址空间分割).没有办法让32位进程使用超过2G(或具有正确设置的3G)的实内存.
你需要一个64位内核和JVM来达到4G的堆空间(并且远远超出它).
有关Linux for 32位应用程序的内存限制的详细信息,请参阅此问题:在64位Linux OS上运行的32位进程的内存限制.
(接受的答案是关于32位和64位内核.它还表明有一些补丁,你可以在32位内核上为用户空间几乎达到4G,但我不认为那些东西进入了Ubuntu内核 - 那种一个nich服务器的东西.)