限制Java 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的

我们在项目www.aerospacesearch.net/constellation中使用Java,并直接从卸载的Java bin文件夹中使用Java

在操作系统和32位和64位版本之间,这种java的ram使用存在一些问题。 有没有可能为ram的使用设置一个上限,这样Java就可以动态地重新安排ram,比如说,它总是低于150mb

这将真正帮助我们解决一些小问题,并将我们的应用程序带到ram能力有限的系统中


提前感谢,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字节。