Docker & Java & velikost heap paměti

publikováno: 20.11.2018

Od Java 10 se bere v úvahu nastavení --memory parametru (například docker run --memory 1000m ...). Java automaticky přidělí heapu cca. 1/4 této velikosti (tzn. cca. 256MB).

Množství alokované paměti pro heap se dá ovlivnit pomocí přepínačů:

  • -XX:MaxRAMPercentage=50 (toto nastaví velikost heapu na cca. 50% přidělené paměti, čili cca. 500MB)
  • další přepínače: -XX:MinRAMPercentage, -XX:InitialRAMPercentage

Od Java 8u131 je možné použít ke stejnému účelu kombinaci následujících přepínačů (ale není to tolik flexibilní): 

  • -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=2

Následující:
Amazon Corretto
Reference

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Velmi jsem oceňoval různorodost školení a široký záběr z java světa + schopnost rychle reagovat na všechny otázky, ať se týkaly jakéhokoliv tématu v Javě. Také se mi líbili různé

Marek

uvolnena atmosfera. nekdo by si mozna myslel, ze az moc, ale mne to tak vyhovuje a paradoxne pomaha k soustredeni :) no a spousta zajimavosti, preci jen je citit, kdyz s

Vojtěch


Novinky

20.8.2019: Spring Boot logy + ELK stack (Elastic + Logstash + Kibana)
Jak dostat Spring Boot logy do ELK (Elastic + Logstash + Kibana) stacku?

9.5.2019: Plánovaný přechod Java EE -> Jakarta EE
Posledních několik měsíců intenzivně sleduji plánovaný přechod z Java EE na Jakarta EE. A musím říct, že to je shit-show :-(

22.3.2019: Termíny Java školení léto 2019
Nové termíny!!!