Zvýšení paměti u klientské aplikace FlexiBee

Zasekává se vám FlexiBee? Všechno dlouho trvá? V tomto návodu se dozvíte, jak nastavit více paměti pro klientskou aplikaci ABRA FlexiBee.

Poslední dobou si mi kde kdo stěžuje na to, že FlexiBee všechno dlouho trvá a zasekává se. Dost často je to způsobeno nedostatkem přidělené paměti. Je celkem jedno kolik paměti váš počítač má. FlexiBee dostane (jako každý program napsaný v javě) přidělenou jen přesně definovanou část operační paměti.

Přidělené množství paměti je ale možné zvýšit. Tuto úpravu je nutné provést na každém počítači, kde se s FlexiBee pracuje.

32bitová nebo 64bitová Java

Jak velké množství paměti můžete přidělit závisí na tom, zda vám FlexiBee běží v 32bitové nebo 64bitové Javě. Pokud vaše FlexiBee používá 64bitovou Javu, máte vyhráno. Můžete nastavit mnohem více a tím mít FlexiBee „svižnější“ 😉.

Pokud máte nainstalovánu 32bitovou Javu, doporučuji ji odinstalovat a nainstalovat si 64bitovou.
32bitová Java totiž umožňuje adresovat (a tedy i nastavit) mnohem méně paměti než 64bitová. Z principu je maximální velikost paměti přidělené 32bitové Javě 4GB, ale je zde nastaven maximální limit. Ten se mění podle velikosti paměti v počítači a je také závislý na operačním systému. V častých dotazech k Java VM je uvedeno, že se limit pohybuje někde mezi 1,4 a 1,6GB. V praxi mám ale ověřeno, že je ještě níže. Někde kolem 1,2GB a občas i méně.

Jak zjistím, jakou Javu FlexiBee využívá?

Tuto informaci je možné zjistit z okna O aplikaci FlexiBee (horní menu Nápověda – O aplikaci FlexiBee). Po zobrazení okna překlikneme na záložku Detaily o aplikaci. Zajímá nás řádka Verze javy.

Obrázky se nestihly načíst.
Prosím opakujte akci zachvilku.
O aplikaci FlexiBee

Kájovo tip
Aktuální Javu můžete stáhnout ze stránek Oracle

Pokud se v ní vyskytuje 64-Bit, tak FlexiBee běží na 64bitové Javě.

Pokud se v ní vyskytuje 32-Bit NEvyskytuje 64-Bit, tak FlexiBee běží na 32bitové Javě a bylo by tedy dobré aktualizovat na 64bitovou.

Jak nastavím více paměti?

Musíme najít konfigurační soubor. Jeho umístění je závislé na používaném operačním systému.

Windows

Konfigurační soubor parametry.txt je umístěn

C:\Program Files (x86)\Winstrom\parametry.txt


Případně v adresáři, do kterého jste si FlexiBee nainstalovali.

Otevřeme ho v Poznámkovém bloku (neotvírejte ve Wordu, Wordpadu ani v podobných aplikacích)!!!
Obsah souboru bude vypadat nějak takto:

-splash:splashscreen.png -Xmx800m -Xms250m -XX:MaxPermSize=128m -XX:-OmitStackTraceInFastThrow -XX:+IgnoreUnrecognizedVMOptions --add-modules=java.xml.ws -Dwinstromdir=.\lib -Dclassworlds.conf=.\lib\launcher.txt -classpath .;.\lib\classworlds-1.1.jar org.codehaus.classworlds.Launcher


Najděte parametr -Xmx a -XX:MaxPermSize a nastavte je na požadované hodnoty.

S největší pravděpodobností budete potřebovat pro editaci souboru parametry.txt administrátorský přístup.

Nejjednodušší postup je tedy:

  1. stiskněte tlačítko Okno a začněte napište notepad. Windows by měli najít aplikaci Poznámkový blok.
  2. klikněte na Poznámkový blok pravým tlačítkem myši a zvolte možnost Spustit jako správce.
  3. potvrďte, že opravdu chcete spustit Poznámkový blok jako správce
  4. přes menu Soubor – Otevřít otevřete soubor parametry.txt
  5. upravte soubor a uložte ho


Linux

Na počítačích s operačním systémem Linux se změny provádí v soubor /etc/default/flexibee.
Otevřeme si ho tedy jako root a upravíme.

sudo vim /etc/default/flexibee


Odkomentujeme (odstraníme # na začátku řádku) řádek FLEXIBEE_JAVA_ARGS a doplníme do něho -Xmx=hodnota a -XX:MaxPermSize=hodnota.

Řádek tedy bude vypadat například takto:

FLEXIBEE_JAVA_ARGS="${FLEXIBEE_JAVA_ARGS} -Xmx2g -XX:MaxPermSize=512m"


macOS

Pokud máte počítač s operačním systémem macOS, musíte upravit soubor

/Applications/FlexiBee.app/Contents/Info.plist


Najděte v něm <string>-Xmx800m</string> a hodnotu změňte na požadovanou.
Ke změnám souboru Info.plist používejte program TextEdit.

Obrázky se nestihly načíst.
Prosím opakujte akci zachvilku.
Jak si na macOS zobrazit obsah balíčku

Obrázky se nestihly načíst.
Prosím opakujte akci zachvilku.
Jak editovat soubor plist.info


Jaké hodnoty zvolit?

Pokud máte počítač s 8GB operační paměti doporučoval bych hodnotu Xmx nastavit na 2g (2 GB operační paměti).
Parametr XX:MaxPermSize nastavit třeba na 512m (512 MB).

Hodnota je vždy číslo a pak identifikátor jednotky. Povolené identifikátory jsou g a G pro gigabyte, m a M pro megabyte a k a K pro kilobyte.

Popis parametru -Xmx
https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/jrdocs/refman/optionX.html#wp999528

Na co si dát pozor a řešení problémů

FlexiBee nenabíhá – asi jste zvolili moc vysokou hodnotu. Zkuste trochu ubrat 😉.

FlexiBee je zase pomalé i když dřív bylo rychlé – nepřeinstalovali jste FlexiBee? Pokud ano, musíte vše nastavit znovu. Přeinstalací FlexiBee se totiž nastaví opět výchozí hodnoty.

Jo a dejte si pozor na to, že mezi parametrem Xmx a jeho hodnotou NENÍ rovnítko, kdežto mezi parametrem XX:MaxPermSize a jeho hodnotou rovnítko JE 😉.

Poznámky z praxe 😀

Jednou jsem dostal za úkol vyexportovat z FlexiBee do PDF obrovskou Hlavní knihu. Po nastavení Xmx na 20g se to podařilo (můj notebook měl 32GB RAM).

Nastavení více paměti umožní vygenerovat opravdu rozsáhlé PDF a XLS soubory.

V popisech FlexiBee jsou doporučené hodnoty Xmx 1g a XX:MaxPermSize 256m. Já si ale myslím, že je to dost málo. Klidně nastavte víc.

Nastavení FlexiBee

- (7. 4. 2019)

Líbil se vám článek?

Nasdílejte ho svým přátelům na sociálních sítích.

Pinterest

Názory, připomínky a jiné komentáře

Co když tam nemám napsáno ani 32 a ni 64bit? ;)

Supwer, tak už vidím update článku, vyřešeno :)

Ano, už jsem to upravil.
Je to tak, že pokud je tam 64-Bit, tak se jedná o 64bitovou javu, pokud to tam není tak 32bitovou ;-)

Dobrý den, tip na úpravu parametrů u pro klienta javy -FLEXIBEE_JAVA_ARGS="${FLEXIBEE_JAVA_ARGS} -server -Xms2g -Xmx4g -XX:MetaspaceSize=3g -XX:NewSize=2g -XX:MaxNewSize=4g -XX:+UseG1GC -XX:+UseStringDeduplication"

A pro windows zkuste: -splash:splashscreen.png -Xmx2g -Xms500m -XX:NewSize=500m -XX:MaxNewSize=2g -XX:+UseG1GC -XX:+UseStringDeduplication -XX:-OmitStackTraceInFastThrow -XX:+IgnoreUnrecognizedVMOptions --add-modules=java.xml.ws -Dwinstromdir=.\lib -Dclassworlds.conf=.\lib\launcher.txt -classpath .;.\lib\classworlds-1.1.jar org.codehaus.classworlds.Launcher

Vložit nový komentář

Jsem programátor, horolezec a tak trochu FlexiBee fanatik :-).
Na CharlieBlogu sepisuji své nápady a poznatky už od roku 2006.

Powered by CharlieBlog Engine v2.3 - Login