Pokročilé hledání             

HELIOS iNuvio      FAQ     Uživatelský panel    

Registrovat     Přihlásit se

    Obsah fóra> Znalostní databáze> Office, Excel, Manažerské rozhraní
    Verze pro tisk

[Excel] Export do XLSX - Chyba: Out of memory

Informace, triky, návody, chyby, které se týkají nadstaveb systému Helios Orange.

Moderátor: orange_moderator

Odeslat odpověď
Příspěvků: 2 • Stránka 1 z 1
  • Odpovědět s citací

[Excel] Export do XLSX - Chyba: Out of memory

Příspěvekod jiri.dolezal v 25.05.2012 09:32

Při exportu pomocí funkcionality MS Excel 2007 XLSX, resp. při exportech do MS Excel obecně ... se můžete setkat s chybovou hláškou:

Out of memory

Znamená to, že velikost generovaného XLSX souboru (v jeho nekomprimované XML podobě) překročila limit využitelného objemu RAM (tj. 2 GB). Helios Orange jako aplikace s 32-bitovou architekturou je v rámci paměťového managementu Windows schopna pracovat max. s 2GB RAM. Velikost generovaného souboru tedy překročila 2GB, nehledě na zbývající volnou kapacitu RAM stanice.

Export do XLSX systémově funguje tak, že celý probíhá v RAM stanice, která export iniciuje. Formát XLSX je velmi náročný na RAM.

Řešení:
- Exportovat por menších částech (menší počet označených řádků)
- Zjednodušit sestavu (odebrat zbytečné sloupce a tím zmenšit objem dat exportovaných do souboru)
jiri.dolezal
 
Nahoru

  • Odpovědět s citací

Out of memory - doplnění

Příspěvekod jan.sindelar v 17.02.2017 15:46

Přidávám drobné doplnění (dotazy a různé nejasnosti se množí).

Popisovaný problém se týká všech paměťově náročných operací, které probíhají v RAM dané stanice. Jde tedy například i o práci s kontingenčními tabulkami, načtení přehledu s velkým množstvím dat (kompletní účetní deník za několik let, miliony řádků...) atd.

Fyzický limit RAM u 32-bitového operačního systému jsou 4 GB (pokud je fyzicky nainstalováno víc, systém vše co je nad 4 GB nevidí, takže to nemá žádný význam). ALE..Druhá věc je limit jednoho dílčího procesu (tedy i Helios.exe) – ten je standardně ve 32-bitových Windows omezen právě na 2 GB na jeden proces (řeč je pouze o Windows, v jiných OS - např. Linuxu - může být situace jiná). Pomocí specifického příznaku při překladu aplikace (IMAGE_FILE_LARGE_ADDRESS_AWARE) se dá sice dostat teoreticky až na 3 GB, nicméně tato vlastnost má jistá omezení (kompatibilita, ne vždy funguje atd.), takže ji Helios nepoužívá.

Stejná situace nastává, pokud je Helios jako 32-bitová aplikace spuštěn na 64-bitovém systému. Systém jako takový je sice schopen pracovat s výrazně větším množstvím RAM (limitem je pak spíš umělá hranice určená příslušnou edicí Windows než fyzický limit, ale bavíme se o terabajtech), nicméně pro 32-bitový proces se nic nemění ani v 64-bitovém prostředí. Je nadále limitován standardně 2 GB (i když pomocí již zmiňovaného příznaku při překladu se opět dá dostat výš, rozhodně ale nikdy ne přes 4 GB).

Nijak tedy nepomůže, když je Helios spuštěn na serveru se 128 GB RAM, protože i tak využije jen 2 GB a příslušná akce může paradoxně přesto skončit na "Out of memory". Paměť ale v tomto případě nedošla systému, ale pouze danému procesu!

Uvedený problém příliš řešení nemá, dokud nebude i Helios kompletně 64-bitový. U paměťově náročných operací je zkrátka jediná možnost omezit množství zpracovávaných dat. V případě přehledu např. omezit množství zobrazených sloupců / zapnout omezené načítání dat. V případě Exportu do Excelu exportovat po částech apod.

Další informace o paměťových limitech Windows: https://msdn.microsoft.com/en-us/library/aa366778.aspx
jan.sindelar
 
Příspěvky: 23
Registrován: 06.10.2006 13:37
Firma: Asseco Solutions, a.s.
Nahoru


Odeslat odpověď
Příspěvků: 2 • Stránka 1 z 1

Zpět na Office, Excel, Manažerské rozhraní

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník

         
  • Tým • Smazat všechny cookies z fóra • Všechny časy jsou v UTC + 1 hodina
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group, Český překlad – phpBB.cz

© copyright 2011 Asseco Solutions, a.s.
hotline Helios Orange
+420 244 104 155
hotline.orange@assecosol.cz