java很高兴地接受-Xmx1k作为参数,但“实验表明”这仍然像8MB堆一样。您可以制作(Oracle JVM)Java堆的最小数量是多少?
谷歌没有提供任何使用,所以我想知道,什么是你可以在Java中要求的最小堆大小?
感谢, 埃里克
编辑:
这似乎会略有不同的平台和Java版本。我的Mac上使用1.6.0_24,我可以配置它没有错误,最小的是:
$ java -Xms1k -Xmx4097k -XX:NewSize=192k -cp . Foo
5636096
或约5.375M,其中Foo.java就是:
public class Foo {
public static void main(String[] args) {
System.out.println(Runtime.getRuntime().totalMemory());
}
}
我的环境是这样的:
$ uname -a
Darwin turbo.local 10.7.0 Darwin Kernel Version 10.7.0: Sat Jan 29 15:17:16 PST 2011; root:xnu-1504.9.37~1/RELEASE_I386 i386
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
正如我在下面的评论中提到,我设置一个小堆试图验证一个昂贵的算法确实使用几乎没有记忆,而不是为了省钱。
感谢您的回答 - 当我尝试谷歌这一点时,我很沮丧地出现了一些有用的东西。
我从来没有见过它设置小于32MB,那在日子里。我从来没有试图找出最低限度。 – lobster1234 2011-04-15 07:09:28