2011-05-08 35 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