Когда я говорю -Xmx=1024m, включает ли это permgen, т. Е. -XX:MaxPermSize= взято из этих 1024 м или оно отдельно?
-Xmx=1024m
-XX:MaxPermSize=
Глядя на это Я думал, что это занимает от 1024 м, но до сих пор я верил, что они были отдельными.
Нет, пространство permGen является дополнением к основной куче (последняя ограничена через -Xmx на виртуальных машинах Sun)
Постоянное поколение - это отдельное пространство, выделенное через MaxPermSize. Это в дополнение к куче, установленной с -Xmx.
MaxPermSize
-Xmx
См. Схему в http://www.oracle.com/technetwork/java/gc1-4-2-135950.html#3.%20Sizing%20the%20Generations|outline «3. Определение размеров поколений»
Показывает «Общий размер», т.е. Xmx не учитывает постоянное поколение.
Xmx
И, кстати, JDK 1.4 довольно старый. Проверьте параметры JDK 1.6 и ссылки на обновленное представление: http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html