2011-05-08 74 views
1

我们将Java用于我们的项目www.aerospaceresearch.net/constellation,并使用Java直接卸载卸载的java bin文件夹。限制Java RAM的使用?

我们在操作系统甚至32位和64位版本的RAM上使用这个java有一些麻烦。 是否可以设置ram使用的上限,以便Java可以动态重新安排ram,例如它总是低于150mb?

这真的会帮助我们解决一些小问题,并将我们的应用程序带入具有有限ram功能的系统。

由于提前,安德烈亚斯

+0

*“...并直接从已卸载的java bin文件夹中使用Java。”* Huh? – 2011-05-08 12:56:20

+0

@ T.J.Crowder我猜OP意味着他们通过简单地解压缩Oracle zip分发而不运行任何安装程序来安装JDK/JRE。 – 2011-05-08 13:03:05

回答

7

你很难从你的问题告诉我们,但你可以来寻找 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实现,这些选项可能会有所不同;并注意上面的警告。

3

你可以尝试使用类似...

java -Xmx128m BigApp 

但是,如果你的应用程序实际上越过128 MB堆限制你可以摆脱内存不足的错误。

[更新]在64位的东西,有一个特殊的参数,使64位引用占用较少的空间,但我现在找不到它。它是新的JRE(1.6?)之一的标准。

+3

XX:+ UseCompressedOops将减小64位引用的大小影响 – Aaron 2011-05-08 13:05:42

+0

我认为你的意思是“-Xmx128m”而不是128字节。 – 2011-05-08 13:56:22

+0

@Peter Lawre:谢谢,修正... – 2011-05-08 14:01:32