簡體   English   中英

Java堆的標准分配比率

[英]Standard allocation ratio for Java heap

我試圖尋找這個問題的答案,但從來沒有找到任何答案。

在定義最大堆大小時,為Java GC空間分配大小的標准比率是多少?

那就是:如果我用堆棧的4Gb啟動我的JVM,那么分配給Eden的數量是多少? 幸存者多少錢? 終身多少錢?

此外,不同VM供應商的比率是否會發生變化?

提前致謝

這是特定於JVM的。 在Oracle的JVM上,您可以使用-XX:+PrintCommandLineFlags -XX:+PrintGCDetails找到堆大小-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)

由此,您可以輕松計算出比率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM