Pokiaľ sa Vám klient po určitom čase používania začína zasekávať, intenzívne pritom využíva CPU a nakoniec prestane reagovať úplne, s najväčšou pravdepodobnosťou máte nastavené príliš málo pamäte pre Java proces. Typicky môže táto situácia nastávať pri generovaní tlačových zostáv alebo pri vykonávaní exportov s väčším objemom dát.
Identifikácia problému
Tento krok možno vynechať. Problém nedostatku pamäte možno overiť spustením klienta z príkazového riadku (terminálu), za predpokladu použitia rovnakej konfigurácie pamäte ako pri normálnom spustení (pozri konfiguračné súbory). Spustiť klienta z príkazového riadku je možné týmito spôsobmi:
Windows: C:\Program Files (x86)\WinStrom\spustit-winstrom.bat pred spustením porovnajte parametre v tomto súbore so súborom parametry.txt
Linux: v terminálovom okne spustiť /usr/bin/flexibee zhodné s normálnym spustením aplikácie
MacOS: v terminálovom okne spustiť
/Applications/FlexiBee.app/Contents/MacOS/JavaAppLauncher(na starších verziách Flexi je príkaz/Applications/FlexiBee.app/Contents/MacOS/flexibee-console) - pred spustením porovnajte parametre v tomto súbore s konfiguráciou v Info.plist
V konzole sa pri zasekávaní spôsobenom nedostatkom pamäte zobrazujú tieto chyby:
java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: GC overhead limit exceeded
Úprava parametrov
Hodnoty parametrov ovplyvňujúce maximálnu veľkosť pamäte pre aplikáciu možno zmeniť v týchto konfiguračných súboroch:
Windows: C:\Program Files (x86)\WinStrom\parametry.txt, resp. na ceste, kde ste vykonali inštaláciu Flexi
Linux: /etc/default/flexibee doplniť parameter: FLEXIBEE_JAVA_ARGS="${FLEXIBEE_JAVA_ARGS} -Xms1g -Xmx2g"
-Xms= initial heap size
Určuje počiatočnú veľkosť Java heapu pri štarte aplikácie → JVM si hneď pri štarte alokuje presne túto veľkosť.-Xmx= maximum heap size
Určuje maximálnu veľkosť heapu, na ktorú sa JVM môže počas behu aplikácie zväčšiť → JVM nikdy neprekročí túto hodnotu.pre stabilný výkon možno ponechať na rovnakej výške.
MacOS: /Applications/FlexiBee.app/Contents/Info.plist upraviť parameter <string>-Xmx1g</string> (v poslednej kolekcii array)
Nastavenie pamäte Javy je vo väčšine prípadov individuálne, v závislosti od spôsobu práce s príslušnou Java aplikáciou. Pokiaľ by Vás zaujímalo viac o tom, ako Java pracuje s pamäťou a ako nastaviť jej rôzne parametre, môžete čerpať z nasledujúceho odkazu.
Pri vykonávaní pokročilejších zmien v parametroch odporúčame sledovať aktuálne využitie pamäte a jej uvoľňovanie pomocou tohto nástroja.
Odporúčané hodnoty parametrov
Minimum | Odporúčané zvýšenie |
Java heap -Xmx1g | -Xmx2000m |
