Размер кучи: getRuntime().maxMemory() намного меньше, чем параметр -Xmx

#java #memory #jvm

#java #память #jvm

Вопрос:

Это моя -xmx установка в IDEA

 -server
-Xms512m
-Xmx8192m
-XX:ReservedCodeCacheSize=240m
-XX: UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX: HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
  

64-битная система, 16 ГБ памяти.

Я не знаю, почему результат Runtime.getRuntime().maxMemory() намного меньше, чем 8G. На самом деле, он не меняется в соответствии с -xmx .

Программа выбрасывает пространство кучи после превышения этого значения.

Кто-нибудь может мне помочь?

Это мой результат maxMemory() : 3803185152

Комментарии:

1. Настройки Xmx — это те, которые применяются к самой IDE: IDEA займет не более 8 ГБ оперативной памяти с этими настройками. Это не влияет на процесс Java, запущенный из Java. Просто отредактируйте конфигурацию запуска, если хотите повлиять на них.

2. Иоахим, подумайте о преобразовании вашего комментария в ответ.