java PermGen空间是整个VM内存的一部分吗? [英] Is java PermGen space part of the total VM memory?
问题描述
假设我使用以下参数启动我的java VM:
Assuming I start my java VM with the following parameters:
-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
将512m PermGen空间添加添加到1024m内存或者他们的一部分?或者换句话说,我的总内存消耗是1536米还是1024米?在后一种情况下,这是否意味着应用程序只有512m用于除PermGen空间以外的目的?
Do the 512m PermGen space add to the 1024m memory or are they part of it? Or in other words, do I have a total memory consumption of 1536m or of 1024m? In the latter case, does that mean that the application has only 512m for purposes other than PermGen space?
如果这个问题显示对PermGen缺乏了解,请告诉我空间。 ; - )
Please let me know in case this question reveals a lack of understanding PermGen space. ;-)
推荐答案
-Xms
和 -Xmx
参数引用堆内存,而PermGen空间是一个单独的内存池。
The -Xms
and -Xmx
parameters refer to heap memory, whereas the PermGen space is a separate memory pool.
其他换句话说,Java应用程序可用的总内存大小为1.5 GiB而不是1 GiB,并且您将获得堆分配对象的完整千兆字节空间。
In other words, the total memory size available to your Java application will be 1.5 GiB rather than 1 GiB, and you'll get the full gigabyte of space for heap-allocated objects.
这篇关于java PermGen空间是整个VM内存的一部分吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!