限制Java RAM的使用?
我们在项目www.aerospacesearch.net/constellation中使用Java,并直接从卸载的Java bin文件夹中使用Java 在操作系统和32位和64位版本之间,这种java的ram使用存在一些问题。 有没有可能为ram的使用设置一个上限,这样Java就可以动态地重新安排ram,比如说,它总是低于150mb 这将真正帮助我们解决一些小问题,并将我们的应用程序带到ram能力有限的系统中限制Java RAM的使用?,java,limit,option,ram,Java,Limit,Option,Ram,我们在项目www.aerospacesearch.net/constellation中使用Java,并直接从卸载的Java bin文件夹中使用Java 在操作系统和32位和64位版本之间,这种java的ram使用存在一些问题。 有没有可能为ram的使用设置一个上限,这样Java就可以动态地重新安排ram,比如说,它总是低于150mb 这将真正帮助我们解决一些小问题,并将我们的应用程序带到ram能力有限的系统中 提前感谢,Andreas很难从您的问题中分辨出来,但是您可能正在Sun的Oracle的
提前感谢,Andreas很难从您的问题中分辨出来,但是您可能正在Sun的Oracle的
java
工具中寻找-Xmx
选项,该工具为java内存堆设置了最大大小
有关该版本的java
工具提供的各种非标准特性(包括与堆相关的一些特性)的详细信息,请在命令提示符下键入java-X
。对于我的已安装版本,这将为我提供:
java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by :>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by :>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by :>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
The -X options are non-standard and subject to change without notice.
java-X
-Xmixed混合模式执行(默认)
-仅限Xint解释模式执行
-Xbootclasspath:
设置引导类和资源的搜索路径
-Xbootclasspath/a:
附加到引导类路径的末尾
-Xbootclasspath/p:
在引导类路径前面预先结束
-Xnoclassgc禁用类垃圾收集
-Xincgc启用增量垃圾收集
-Xloggc:使用时间戳将GC状态记录到文件中
-Xbatch禁用后台编译
-Xms设置初始Java堆大小
-Xmx设置最大Java堆大小
-Xss设置java线程堆栈大小
-Xprof输出cpu配置文件数据
-Xfuture启用最严格的检查,预测未来的默认值
-Xrs减少了Java/VM对操作系统信号的使用(参见文档)
-Xcheck:jni对jni函数执行额外的检查
-Xshare:off不尝试使用共享类数据
-Xshare:如果可能,自动使用共享类数据(默认)
-Xshare:on要求使用共享类数据,否则失败。
-X选项为非标准选项,如有更改,恕不另行通知。
如果您使用的是不同的Java实现,那么这些选项可能会有所不同;请注意上面末尾的警告。很难从您的问题中分辨出来,但您可能正在Sun的Oracle的
java
工具中寻找-Xmx
选项,该工具设置java内存堆的最大大小
有关该版本的java
工具提供的各种非标准特性(包括与堆相关的一些特性)的详细信息,请在命令提示符下键入java-X
。对于我的已安装版本,这将为我提供:
java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by :>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by :>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by :>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
The -X options are non-standard and subject to change without notice.
java-X
-Xmixed混合模式执行(默认)
-仅限Xint解释模式执行
-Xbootclasspath:
设置引导类和资源的搜索路径
-Xbootclasspath/a:
附加到引导类路径的末尾
-Xbootclasspath/p:
在引导类路径前面预先结束
-Xnoclassgc禁用类垃圾收集
-Xincgc启用增量垃圾收集
-Xloggc:使用时间戳将GC状态记录到文件中
-Xbatch禁用后台编译
-Xms设置初始Java堆大小
-Xmx设置最大Java堆大小
-Xss设置java线程堆栈大小
-Xprof输出cpu配置文件数据
-Xfuture启用最严格的检查,预测未来的默认值
-Xrs减少了Java/VM对操作系统信号的使用(参见文档)
-Xcheck:jni对jni函数执行额外的检查
-Xshare:off不尝试使用共享类数据
-Xshare:如果可能,自动使用共享类数据(默认)
-Xshare:on要求使用共享类数据,否则失败。
-X选项为非标准选项,如有更改,恕不另行通知。
如果您使用的是不同的Java实现,那么这些选项可能会有所不同;请注意上面末尾的警告。您可以尝试使用类似
java -Xmx128m BigApp
但是如果你的应用程序实际超过了128MB的堆限制,你可能会出现内存不足的错误
[更新]在64位方面,有一个特殊的参数,可以使64位引用占用更少的空间,但我现在找不到它。它是其中一个新JRE(1.6?)的标准配置 您可以尝试使用类似于
java -Xmx128m BigApp
但是如果你的应用程序实际超过了128MB的堆限制,你可能会出现内存不足的错误
[更新]在64位方面,有一个特殊的参数,可以使64位引用占用更少的空间,但我现在找不到它。它是其中一个新JRE(1.6?)的标准配置 “…并从已卸载的Java bin文件夹中直接使用Java。”“嗯?@T.J.Crowder我猜OP的意思是,他们只需解压缩Oracle zip发行版,而不运行任何安装程序,即可安装JDK/JRE。”…并从已卸载的Java bin文件夹中直接使用Java。”嗯?@T.J.Crowder我猜OP的意思是他们安装JDK/JRE只需解压缩Oracle zip发行版,而不运行任何安装程序。XX:+UseCompressedOops将减少64位引用的大小影响我想你的意思是
-Xmx128m
,而不是128字节。XX:+UseCompressedOops将减少64位引用的大小影响你的意思是-Xmx128m
而不是128字节。