如何在ubuntu上获得高于2GB的最大Java VM?

问题描述

| 当我有8GB可用空间时,我的虚拟内存不会超过2GB。 我正在运行安装了Java JRE 1.6_25的Ubuntu 10.10 x86。 当我尝试启动.jar文件时,它立即崩溃。 当我将VM设置为
2048M
时,它可以正常工作 这些是我用来定义VM
-Xmx4096M -xms4096M
的参数 感谢您的帮助:)     

解决方法

如果那是32位VM,那么您将不会高于2G(或将内核配置为3G / 1G用户空间/内核地址空间拆分的情况下接近3G)。 32位进程无法使用超过2G(或具有正确设置的3G)的实际内存。 您将需要64位内核和JVM才能达到4G的堆空间(并且要远远超出此范围)。 有关32位应用程序在Linux上的内存限制的详细信息,请参见此问题:在64位Linux OS上运行的32位进程的内存限制。 (接受的答案同时讨论了32位和64位内核。这还表明存在一些补丁,您可以在32位内核上接近4G的用户空间,但是我认为Ubuntu内核中没有这些东西-有点像服务器。)。     ,如果需要那么大的Java程序,则应强烈考虑迁移到64位操作系统。这将允许您使用64位JVM,该JVM允许2Gb以上的Java程序。 我不知道可以轻松地从32位迁移到64位Ubuntu的过程,但是您可以保存主目录,然后重新安装。 然后,您可以轻松地安装OpenJDK Java,并花费更多的精力来安装官方的Sun JDK。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...