Ak sa váš klient po určitom čase používania začne zasekávať, intenzívne využívať procesor a nakoniec úplne prestane reagovať, pravdepodobne máte nastavenú nízku pamäť pre proces Javy. Táto situácia môže typicky nastať pri generovaní tlačových zostáv alebo pri exporte veľkého množstva údajov.
Identifikácia problému
Tento krok môžete preskočiť. Problém s nedostatkom pamäte možno overiť spustením klienta z príkazového riadku (terminálu) za predpokladu rovnakej konfigurácie pamäte ako pri bežnom spustení (pozri konfiguračné súbory). Klienta môžete spustiť z príkazového riadku nasledujúcimi spôsobmi:
Windows: C:\Program Files (x86)\WinStrom\spustit-winstrom.bat Pred spustením porovnajte parametre v tomto súbore so súborom parameters.txt
Linux: v okne terminálu spustite /usr/bin/flexi identicky ako pri bežnom spustení aplikácie
MacOS: v okne terminálu spustite /Applications/FlexiBee.app/Contents/MacOS/flexi-console Pred spustením porovnajte parametre v tomto súbore s konfiguráciou v Info.plist
Pri zaseknutí konzoly z dôvodu nedostatku pamäte sa potom v konzole zobrazia nasledujúce chyby:
java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: permGen space
java.lang.OutOfMemoryError: Prekročenie limitu réžie GC
Prvý indikuje nedostatočnú celkovú veľkosť pamäte a možno ho upraviť pomocou parametra Java -Xmx, zatiaľ čo druhý indikuje nedostatočnú veľkosť oblasti PermGen a možno ho upraviť pomocou parametra -XX:MaxPermSize.
Nastavenie parametrov
Hodnoty parametrov, ktoré ovplyvňujú maximálnu veľkosť pamäte aplikácie, môžete zmeniť v týchto konfiguračných súboroch:
Windows: C:\Program Files (x86)\WinStrom\parameters.txt alebo cesta, kam ste nainštalovali Flexi
Linux: /etc/default/flexi pridať parameter: Flexi_JAVA_ARGS="${FLEXI_JAVA_ARGS} -Xmx1g -XX:MaxPermSize=256m"
MacOS: /Applications/Flexi.app/Contents/Info.plist
Odporúčané hodnoty parametrov:
Minimálne odporúčané zvýšenie
Java heap -Xmx1g -Xmx1200m
PermGen -XX:MaxPermSize=128m -XX:MaxPermSize=256m
Ak potrebujete viac ako 1 GB pamäte, odporúčame použiť 64bitovú Javu. 32bitová Java má limit 1 - 1,2 GB v závislosti od operačného systému. V prípade, že balík preinštalujete, budete bohužiaľ musieť znovu nastaviť parametre (platí pre systémy Windows a macOS).