我们将Java用于我们的项目www.aerospaceresearch.net/constellation,并使用Java直接卸载卸载的java bin文件夹。限制Java RAM的使用?
我们在操作系统甚至32位和64位版本的RAM上使用这个java有一些麻烦。 是否可以设置ram使用的上限,以便Java可以动态重新安排ram,例如它总是低于150mb?
这真的会帮助我们解决一些小问题,并将我们的应用程序带入具有有限ram功能的系统。
由于提前,安德烈亚斯
我们将Java用于我们的项目www.aerospaceresearch.net/constellation,并使用Java直接卸载卸载的java bin文件夹。限制Java RAM的使用?
我们在操作系统甚至32位和64位版本的RAM上使用这个java有一些麻烦。 是否可以设置ram使用的上限,以便Java可以动态重新安排ram,例如它总是低于150mb?
这真的会帮助我们解决一些小问题,并将我们的应用程序带入具有有限ram功能的系统。
由于提前,安德烈亚斯
你很难从你的问题告诉我们,但你可以来寻找 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实现,这些选项可能会有所不同;并注意上面的警告。
你可以尝试使用类似...
java -Xmx128m BigApp
但是,如果你的应用程序实际上越过128 MB堆限制你可以摆脱内存不足的错误。
[更新]在64位的东西,有一个特殊的参数,使64位引用占用较少的空间,但我现在找不到它。它是新的JRE(1.6?)之一的标准。
XX:+ UseCompressedOops将减小64位引用的大小影响 – Aaron 2011-05-08 13:05:42
我认为你的意思是“-Xmx128m”而不是128字节。 – 2011-05-08 13:56:22
@Peter Lawre:谢谢,修正... – 2011-05-08 14:01:32
*“...并直接从已卸载的java bin文件夹中使用Java。”* Huh? – 2011-05-08 12:56:20
@ T.J.Crowder我猜OP意味着他们通过简单地解压缩Oracle zip分发而不运行任何安装程序来安装JDK/JRE。 – 2011-05-08 13:03:05