Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PERM生成在哪里?_Java_Jvm - Fatal编程技术网

Java PERM生成在哪里?

Java PERM生成在哪里?,java,jvm,Java,Jvm,当你启动一个JVM的时候,它在哪里分配了PERM GEN?它是主堆的一部分还是堆大小的附加部分 例如,如果我使用以下参数: -server -Xms10G -Xmx10G -XX:MaxPermSize=1536M Java的总大小是6G+512M还是6.5G(对于Java),或者堆内的perm生成设置意味着所有运行的应用程序都将有6G-512M=5.5MB(对于年轻/终身(又称老)和perm) 这张图有4张。对代进行分级似乎意味着它可能在堆之外,但我似乎找不到一些确切的状态。 从jsta

当你启动一个JVM的时候,它在哪里分配了PERM GEN?它是主堆的一部分还是堆大小的附加部分

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

-server -Xms10G -Xmx10G -XX:MaxPermSize=1536M 
Java的总大小是6G+512M还是6.5G(对于Java),或者堆内的perm生成设置意味着所有运行的应用程序都将有6G-512M=5.5MB(对于年轻/终身(又称老)和perm)

这张图有4张。对代进行分级似乎意味着它可能在堆之外,但我似乎找不到一些确切的状态。

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

[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)
如果可能的话,请提供一个文档链接,说明您的案例是真实的

-服务器-Xms10G-Xmx10G-XX:MaxPermSize=1536M

堆和perm gen的总容量将为11.5 GB。但是,还有其他内存区域,例如直接内存,它可以同样大。另一个领域是共享库,它基本上是固定大小的

e、 你可以设置

-mx128m-XX:MaxPermSize=1g


如果将perm gen插入堆中,则此操作将失败。

下面是一张很好的图片,显示了我需要的内容。