我們將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