假设我使用以下参数启动我的 java VM:
-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
512m PermGen 空间添加到 1024m 内存还是其中的一部分?或者换句话说,我的总内存消耗是 1536m 还是 1024m?在后一种情况下,这是否意味着应用程序只有 512m 用于 PermGen 空间以外的用途?
如果这个问题表明对 PermGen 空间缺乏了解,请告诉我。 ;-)
最佳答案
-Xms
和-Xmx
参数指的是heap内存,而PermGen空间是一个单独的内存池。
换句话说,您的 Java 应用程序可用的总内存大小将是 1.5 GiB 而不是 1 GiB,并且您将获得用于堆分配对象的全部 GB 空间。
关于java - java PermGen 空间是虚拟机总内存的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223809/