Otevře se na nové kartě
🚧 Rekonstrukce webu se zdárně blíží do finále. Prosím, omluvte případné nedostatky.

Jak navýšit RAM (heap memory) pro Gephi

Obsah

Úvod

Gephi může zpočátku klamat a působit jako hardwarově nenáročný software. Při jednoduché práci a testování základních malých datasetů v drtivé většině případů nepocítíte žádné problémy. Ovšem v průběhu práce s většími datasety se z Gephi stává nenasytný žrout RAMky. Je proto potřeba mít k dispozici dostatek fyzické paměti a také vhodně nastavit limity jejího využití. V tomto návodu ukazuji, jak limit paměti můžete zjistit a automaticky nebo manuálně navýšit.

Návod byl vytvořen pro Gephi 0.11.x a operační systém Windows 11. Postup je ověřený na Gephi 0.11.2 a platí i pro novější verze. Informace pro operační systémy Linux a macOS jsou k dispozici na adrese https://docs.gephi.org/desktop/User_Manual/Troubleshooting/. U starších verzí je proces obdobný, ale vřele doporučuji aktualizaci na jeden z posledních stabilních releasů.

Výchozí nastavení paměti v Gephi

Dříve bývala výchozí hodnota paměti fixně stanovena na 512 MB a vyžadovala manuální úpravu. Díky přímé integraci Javy v instalačním balíčku Gephi od verze 0.9.3 dochází k detekci a nastavení stropu využitelné RAM automaticky po prvním spuštění programu. Respektive se jedná o hodnotu takzvané „Java heap memory“ (nebo „heap memory“ nebo pouze „heap“), což je vyhrazená oblast paměti pro program, který běží na Javě. Do této oblasti si Java, potažmo Gephi, následně ukládá data vámi zpracovávaného grafu. Tedy uzly, hrany a jejich atributy.

U současných verzí Javy platí, že se prvotní limit heap memory nastavuje na čtvrtinu reálně dostupné fyzické paměti. Například pokud máte k dispozici 16 GB RAM, bude nastaven limit na 4 GB. Je to taková „pojistka“, aby daný software (respektive Java) nemohl brát kritické zdroje nutné pro činnost operačního systému či dalších programů.

Maximální heap memory limit pro Gephi si můžete jednoduše ověřit po spuštění programu. Na Windows se informace zapisuje do souboru messages.log. Soubor naleznete v adresáři \log\ na cestě C:\Users\username\AppData\Roaming\gephi\0.11\var\log. Pozor, část \username\ musíte nahradit za svoje uživatelské jméno a \0.11\ za vámi používanou verzi programu. V souboru pak hledejte řádek začínající Heap memory usage. V části maximum zjistíte, kolik může Gephi v základu využívat RAMky. Na řádku Total physical memory zjistíte, kolik máte RAM k dispozici celkově.

Soubor messages.log, cesta k souboru a řádky s informacemi o RAM
Soubor messages.log, cesta k souboru a řádky s informacemi o RAM.

Detekce RAM a automatické navýšení paměti

Současné verze Gephi nedostatek paměti pomáhají řešit automaticky (dříve bývalo běžné, že software jednoduše spadl). V případě, že se heap memory přiblíží stropu, vyskočí popup „Gephi is running out of memory“. Dozvíte se aktuálně nastavený limit, maximální možnou hodnotu nového stropu a dostanete i možnost navýšení paměti za cenu restartu programu. Teoreticky tedy nemusíte nic řešit. Stačí počkat, až si sáhnete na strop, a vyřešit jedním kliknutím. Má to však dvě úskalí.

Popup pro automatické navýšení paměti
Popup pro automatické navýšení paměti

1) První úskalí je nepříjemnost v podobě potenciálního pádu programu. Pokud se v popupu omylem ukliknete nebo se z jakéhokoliv důvodu rozhodnete dát „Cancel“, existuje vysoká pravděpodobnost, že paměť dojde a program spadne. Pád automaticky znamená, že nedojde k uložení souboru a přijdete o všechnu práci. V případě, že zvolíte navýšení paměti, může se stát totéž. Gephi se sice pokusí uložit soubor s grafem. Ale pokud byl limit heap memory příliš nízký a váš graf je datově náročný (= rozdíl mezi stávajícím heap memory limitem a reálně potřebnou heap memory je až příliš velký), tak raději očekávejte, že uložení souboru selže a program spadne. Pakliže už máte něco rozpracované a editujete graf z již dříve uloženého souboru, tak v krajních případech riskujete i nevratné poškození daného souboru (vyzkoušeno za vás roky praxe). Silně proto doporučuji .gephi soubory verzovat a pokaždé raději ukládat nový.

2) Druhé úskalí je metoda výpočtu limitu. Gephi počítá nový heap memory limit pomocí jednoduchého vzorce celková fyzická RAM * 0.7. Nový limit, až na velmi specifické výjimky, tedy bude 70 % z dostupné RAM. Konkrétní hodnoty pro různé velikosti RAM naleznete v tabulce níže. Problém je viditelný zvláště v případech, kdy je dostupná RAM 24 GB a méně. Na Windows bude nejspíše docházet ke kolizi s pamětí nutnou na provoz kriticky důležitých procesů operačního systému a dalších programů, takže 70% limit pro heap memory je až příliš štědrý. Limity pro rozpětí 32–64 GB mohou působit dojmem, že jsou jakžtakž v pořádku, ale i tam může docházet k problémům. Zvláště pak v případě -Xmx34406m (70 % z 48 GB), jak vysvětluji dále ve článku. Nad 96 GB naopak zase nemusí docházet k adekvátnímu využití paměti.

Riziku selhání programu, korupci souboru nebo nevhodnému využití RAM lze předejít poctivým manuálním nastavením stropu heap memory v konfiguračním souboru, což ukazuji hned v další sekci pod tabulkou níže.

Přehled automatického nastavení heap memory maxima na 70 % RAM
Celkově dostupná fyzická RAM 70 % z dostupné RAM Nově nastavená -Xmx hodnota
2 GB 1300 MB -Xmx1300m
4 GB 2,8 GB -Xmx2867m
6 GB 4,2 GB -Xmx4300m
8 GB 5,6 GB -Xmx5734m
12 GB 8,4 GB -Xmx8601m
16 GB 11,2 GB -Xmx11468m
24 GB 16,8 GB -Xmx17203m
32 GB 22,4 GB -Xmx22937m
48 GB 33,6 GB -Xmx34406m
64 GB 44,8 GB -Xmx45875m
96 GB 67,2 GB -Xmx68812m
128 GB 89,6 GB -Xmx91750m
192 GB 134,4 GB -Xmx137625m
256 GB 179,2 GB -Xmx183500m

Manuální navýšení využitelné paměti pro Gephi

Pokud patříte mezi zkušenější či náročnější uživatele, asi už tušíte, že defaultní ani automatické nastavení není vhodné. Ukážu vám, jak nakonfigurovat maximální limit využitelné RAM ručně. Změny je potřeba provést v souboru gephi.conf. Ten ve Windows naleznete na cestě C:\Program Files\Gephi-0.11.2\etc. Pozor, cesta se liší dle konkrétní verze Gephi. V conf souboru najděte řádek default_options=. Tam jednoduše upravte číselnou hodnotu v části -J-Xmx. Změnit můžete číselnou hodnotu a jednotku m pro megabajty nebo g pro gigabajty. Pro nastavení heap memory stropu na 40 GB třeba takto -J-Xmx40960m nebo takto -J-Xmx40g. Změny v souboru nezapomeňte uložit.

Upozornění. Do conf souboru nijak dál nezasahujte, pokud opravdu zatraceně dobře nevíte, co a proč děláte! Jen vložte novou -J-Xmx hodnotu dle instrukcí uvedených v tomto článku. Pro jistotu doporučuji udělat si na začátku zálohu originálního conf souboru. A kdyby se náhodou přece jen něco pokazilo, nejrychlejší řešení bývá reinstalace Gephi.

Conf soubor a ukázka manuální změny maximálního limitu využití RAM
Conf soubor a ukázka manuální změny maximálního limitu využití RAM.

Tento postup vyžaduje restart Gephi, aby se změny mohly projevit. Po opětovném spuštění zkontrolujte informace o RAM v messages.log souboru. Pokud jste vše provedli správně, v sekci maximum uvidíte novou maximální "heap memory usage" hodnotu.

Kontrola využití RAM v messages.log po změně conf souboru
Kontrola využití RAM v messages.log po změně conf souboru.

"Deficitní" rozsah heap memory

Plánovaná revize: Informace v této sekci plánuji ověřit a otestovat na reálných datech. Text bude následně revidován.

V roce 2019 vývojář Aleksey Shipilëv, který dříve pracoval i v Oracle na vývoji Javy, benchmarkem demonstroval specifika a nedostatky heapu. Ve stručnosti a zjednodušeně. Pokud heap nastavení překročí práh 32 GB, tak přestanou být komprimovány reference na objekty a jejich velikost se zdvojnásobí. Tím dojde k cca 40% nárůstu datové velikosti, čímž následně může dojít k překročení nároků na paměť, která by ale při správné konfiguraci -Xmx parametru byla jinak plně dostačující.

Z toho vyplývá důležitá informace, tedy že rozsah 32–42 GB může být "deficitní". Graf, který byste jinak v pohodě dokázali zpracovat s nastavením -J-Xmx31g, možná nebude fungovat při nastavení -J-Xmx33g a vyšším. Další úroveň pro vhodnější nastavení začíná až někde kolem 42-44 GB, tedy -J-Xmx40g. Záleží na konkrétních datech. Monitoring a logování je možné, nicméně to už je složitější téma do jiného článku.

Konec textu k revizi.

Ukázka individuálního propočtu RAM

Při ručním nastavení musíte vzít v úvahu především vaše běžné vytížení RAM a také nutnou provozní rezervu. Například mám k dispozici 64 GB RAM a Gephi po instalaci ve výchozím nastavení může pro heap memory využít jen 16 GB. Pomocí Správce úloh (Task Manager) zjistím, že systém a další software za běžného provozu obvykle bere kolem 25 GB. Gephi a Java také potřebují nějakou provozní RAM i mimo memory heap. Na to počítám cca 2 GB. Alespoň 5 GB, což není zrovna mnoho, je dobré mít v rezervě. Zbývá mi tedy cca 32 GB.

Vsuvka: Pokud bych se rozhodl řešit navýšení automatickým výpočtem na 70 % z celkové RAM (dle výše uvedené tabulky), došlo by k nevhodnému nastavení stropu na 44,8 GB bez jakékoliv rezervy.

Přehled využití RAM ve Správci úloh na Windows 11
Přehled využití RAM ve Správci úloh na Windows 11.

32 GB mi připadá "málo", 45 GB je moc, 33–42 GB je technicky suboptimální. Maximální paměť ve svém conf souboru nakonec navyšuji na 44 GB zápisem -J-Xmx44g. V případě vyššího vytížení bych byl sice několik GB za hranou. Ale RAM neustále monitoruji, takže poznám, kdy se blíží potenciální krizová situace. A zároveň vím, že v krizi mi stačí shodit Google Chrome, což uvolní přibližně 10 GB. S trochou snahy, po ukončení dalších procesů a programů, bych mohl mít k dispozici celkově cca 47 GB.

Sestavil jsem orientační tabulku heap memory stropu na Windows dle dostupné RAM. Hodnoty v tabulce jsou opravdu čistě orientační a vychází z mých zkušeností. Univerzální konfigurace neexistuje. Důležité je dobře sledovat procesy a výkonnostní metriky ve Správci úloh a řídit se jimi.

Orientační nastavení RAM pro Gephi ve Windows 11
Celkově dostupná RAM Orientační maximální heap memory pro Gephi
8 GB 1–2 GB
16 GB 4–8 GB
32 GB 16–24 GB
64 GB 31,9 GB / 42–44 GB

Gephi Lite

Pokud máte problém s rozběhnutím Gephi nebo s RAM, jako alternativu můžete vyzkoušet Gephi Lite: https://lite.gephi.org/. Je to taková zjednodušená online verze Gephi. Větší datasety tam sice nezpracujete, ale pro naučení se a pochopení základů práce s (ne)orientovanými grafy jsou funkce i rozhraní dostačující. Najdete tam klasické algoritmy pro rozložení grafů, filtry, statistiky a data lab. Lite funguje překvapivě svižně. V některých ohledech dokonce působí uživatelsky o něco přívětivější a přehlednější než desktopová verze Gephi. Bohužel trochu nečekaná nevýhoda je, že Lite nepracuje s nativními soubory s koncovkou .gephi.

Gephi Lite
Gephi Lite

RAM vs CPU vs GPU aneb vliv heap memory na výkon Gephi

Máte spoustu RAM, adekvátní heap memory a Gephi se zasekává nebo funguje extrémně pomalu? Navýšení limitu pro maximální využitelnou paměť nemá prakticky žádný vliv na samotný výkon a rychlost Gephi, takže je potřeba hledat problém jinde. RAM je jednoduše prerekvizita nutná pro zpracování velkých objemů dat, ale neurčuje, jak rychle to bude probíhat.

Efektivitu zpracování dat určuje váš výpočetní výkon (CPU), vybrané rozložení grafu a výpočet různých statistik. Některé layouty jsou efektivnější (typicky ForceAtlas2) a ne všechny metriky nutně potřebujete počítat. A už vůbec nepotřebujete počítat všechno zároveň. Procesy spouštějte postupně a čekejte, až doběhnou.

Váš grafický výkon (GPU) pak ovlivňuje zobrazení a překreslování grafu na panelu "Overview". Nároky je možné výrazně snížit vypnutím zobrazování popisků pro uzly i hrany a především pak vypnutím zobrazení hran. Tyto ovládací prvky naleznete ve spodní liště pod grafem. Nebo můžete panel "Overview" s grafickým znázorněním grafu zavřít a prostě jen nechat běžet vybrané algoritmy.

Lišta s ovládacími prvky, které uleví GPU
Lišta s ovládacími prvky, které uleví GPU

Kvalita vstupních dat je další bod, který silně rozhoduje nejen o relevanci výstupu, ale také o rychlosti zpracování. Věnujte proto pozornost začištění dat. Především pak souboru s hranami. Větší množství uzlů je obvykle v pohodě (stovky tisíc až miliony). Ale pokud bude váš graf mít miliony hran, tak budete mít problém i se silně nadprůměrným hardwarem. Graf s desítkami milionů hran spíše nezpracujete. Gephi od verze 0.11.x konkrétně uvádí jako bezproblémové grafy do 10 000 000 prvků, ale benchmark proběhl pouze na zařízení Mac M4 Pro.

Závěr

Gephi patří mezi programy, které při větším vytížení potřebují pro svůj provoz opravdu hodně hardwarových zdrojů. Hodí se proto vědět, jak funguje základní nastavení, jak ho upravit a na co si dát pozor. V této chvíli byste měli znát proces pro ruční alokaci RAM i postup pro výpočet a stanovení maximální hodnoty paměti (heap memory). Nezbývá mi nic dalšího než vám popřát hodně zdaru a pevné nervy, protože práce s Gephi občas bývá trošku divočejší.

Poznámky pod čarou

Abecední seznam použitých zdrojů

Cituj a sdílej

NEŠPOR, Zdeněk. Jak navýšit RAM (heap memory) pro Gephi. Online. Zdeněk Nešpor. 2026-07-20, 2026-10-16. Dostupné z: https://zdeneknespor.cz/blog/jak-navysit-ram-gephi/. [cit. 2026-10-26].