gpt4 book ai didi

java - Java PERM 生成在哪里?

转载 作者:行者123 更新时间:2023-12-02 08:18:07 28 4
gpt4 key购买 nike

当您启动 JVM 时,PERM GEN 在哪里分配?它是主 HEAP 的一部分还是 HEAP 大小的补充。

例如,如果我使用以下参数:

-server -Xms10G -Xmx10G -XX:MaxPermSize=1536M 

Java 的总大小将是 6G + 512M 或 Java 的 6.5G,还是堆内的永久代设置,这意味着所有正在运行的应用程序将有 6G - 512M = 5.5MB(年轻/终身) )和烫发?

4. 调整世代大小中的这张图似乎暗示它可能在堆之外,但我似乎找不到一些可以肯定的说明。 http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html

查看 jstat 的输出,它似乎位于主 HEAP 的外部,但这可能只是报告的方式。

[jboss@pts03-taps-03 ~]$ jstat -gccapacity PID


NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC


85184.0 85184.0 85184.0 8512.0 8512.0 68160.0 10400576.0 10400576.0 10400576.0 10400576.0 21248.0 1572864.0 1387840.0 1387840.0 431 43


OGCMX = 10400576.0 (almost 10G OLD GEN)
NGCMX = 85184.0 (OGCMX + NGCMX = very close to 10G NEW GEN)
PGCMX = 1572864.0 (1.5G PERM GEN)

如果可能,请提供证明您的情况属实的文档链接。

最佳答案

-server -Xms10G -Xmx10G -XX:MaxPermSize=1536M

堆和永久代的总大小将为 11.5 GB。然而,还有其他内存区域,例如直接内存也可以一样大。另一个区域是共享库,它基本上是固定大小的。

例如你可以设置

-mx128m -XX:MaxPermSize=1g

如果 perm gen 的大小超过堆,则会失败。

关于java - Java PERM 生成在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5968909/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com