Nu tar vi ett lite smalare Java-relaterat inlägg.
I det projekt jag jobbar med används en produkt som heter Liferay Portal för att bygga en portal för många användare och sedan 4.3.1 används Ehcache för cache-hanteringen.
Vi kunde konstatera att belastningen ökade oacceptabelt mycket regelbundet (var 10:e minut) iom att explicita och oftast helt onödiga skräpsamlingar (System.gc()) har körts och misstänker att det är Ehcache-relaterat beteende.
Det finns många flaggor för att anpassa Javas garbage collector. För att få stopp på detta specifika problem och låta garbage collectorn sköta sitt jobb efter bästa förmåga utan explicita körningar rekommenderas “-XX:+DisableExplicitGC” varmt, det gjorde nämligen stor skillnad.
Sammanfattningsvis tycker jag att vi kan sluta oss till att man bör inaktivera explicita GC-körningar ifall man har problem med denna typ av okynneskörningar. Det är nästan alltid en dålig idé att gå in och styra skräpsamlaren på det viset.
Nu tycker jag att Google var rätt kvick. Provade att googla “liferay ehcache garbage collection” och då hamnar detta inlägg högst upp bara några minuter efter att inlägget skrivits.