Temat: Jvm - uwagi


Temat: Jvm - uwagi
Data: 2014-02-11
Treść:
Postanowiłem, że muszę bliżej przyjerzeć się zagadnieniom związanym z jvm, tak aby nie tylko rozrużniać jdk od jre oraz ustawia pamięci. Ma to znaczący wpływ na działanie aplikacji. Oto uwagi:
1. Słynny JRockit zastał przez pewien czas skomercjalizowany, natomiast od wersji 7.40 dostępny jest już w standardowym JDK. Znajduje się tu super narzędzie jmc!
2. Jvm można uruchomić z parametrem client bądź serwer. Zacznijmy np od: http://javapapers.com/core-java/jvm-server-vs-client-mode/ .
3. Nigdy nie pozostawiaj jvm samego sobie, nie uruchamia programów po prostu polecenim java -jar program.jar. Taki pozostawiony na wolności jvm może mocno nabruzdzić w systemie.
4. http://blog.headius.com/2009/01/my-favorite-hotspot-jvm-flags.html
5. Aby uniknąć pełnego GC z poziomu kodu (za pomocą polecenia System.gc()) należy dla JVM dodać opcję -XX:+DisableExplicitGC. Generalnie wywołanie z poziomu kodu czyszczenia GC uważa się za zły pomysł.
6. A oto przykładowe wywołanie:
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8 -server -XX:MaxPermSize=128m -XX:+UseParNewGC -XX:MaxNewSize=512m -XX:NewSize=512m -Xms1536m -Xmx1536m -XX:SurvivorRatio=128 -XX:MaxTenuringThreshold=0 -XX:+UseTLAB -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -verbose:gc -Xloggc:d:\drk\temp\jvm_gc.log -XX:+PrintGCDateStamps
<< Powrót <<

powered by sw