我试图寻找这个问题的答案,但从未找到任何答案。
当我定义最大堆大小时,将大小分配给Java空间的标准比率是多少?
也就是说:如果我开始我的JVM,比如说4 4Gb的堆,有多少分配给了伊甸园?给幸存者多少钱?终身教职要多少钱?
另外,不同的VM供应商之间的比率是否会发生变化?
提前感谢
发布于 2013-03-14 23:53:18
这是特定于JVM的。在Oracle上,您可以使用-XX:+PrintCommandLineFlags -XX:+PrintGCDetails找出堆大小
$ java -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -version
-XX:InitialHeapSize=78820288 -XX:MaxHeapSize=1261124608 -XX:+PrintCommandLineFlags -XX:+PrintGCDetails -XX:+UseCompressedOops -XX:+UseParallelGC
java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)
Heap
PSYoungGen total 22464K, used 770K [0x000000013e820000, 0x0000000140130000, 0x0000000157970000)
eden space 19264K, 4% used [0x000000013e820000,0x000000013e8e0b08,0x000000013faf0000)
from space 3200K, 0% used [0x000000013fe10000,0x000000013fe10000,0x0000000140130000)
to space 3200K, 0% used [0x000000013faf0000,0x000000013faf0000,0x000000013fe10000)
ParOldGen total 51328K, used 0K [0x000000010c570000, 0x000000010f790000, 0x000000013e820000)
object space 51328K, 0% used [0x000000010c570000,0x000000010c570000,0x000000010f790000)
PSPermGen total 21248K, used 2165K [0x0000000107370000, 0x0000000108830000, 0x000000010c570000)
object space 21248K, 10% used [0x0000000107370000,0x000000010758d6a8,0x0000000108830000)由此,您可以很容易地计算出比率。
https://stackoverflow.com/questions/15413783
复制相似问题