Nejste přihlášen/a.

Přihlásit se do poradny

 

Chyba při překročení paměti 2 GB u procesu

Od: honza51 odpovědí: 6 změna:

Zdravím

Překročemí paměti 2 GB RAM v celkovém běhu PC není problém, ale když při běhu programu jeden proces zabere více než 2 GB operační paměti, nastane systémová chyba a proces spadne. Je nějaká cesta, jak se tomu vyhnout, nebo omezení 2 GB je pro všechny Windows 32 bit (používám win XP)? Je použití 64-bit systému řešení?

Honza

 

 

6 odpovědí na otázku
Řazeno dle hodnocení

 

 

mowla*
hodnocení

3x

Pokud vím*), mají 32 bit Win omezení 2 GB/proces**). Pokud bys použil Win x64, je toto omezení 4GB/proces.

*) 100% to platí pro WinXP a Vista, ale nevidím důvod, proč by tomu u Win7 či Win8 mělo být jinak.

**) je možné, v případě použití PAE, adresovat až 3GB, ale jednak musí být programy s tímto být kompilovány a druhak to nese i nevýhody

honza51
hodnocení

To bude ono, proč to padá bez ohledu na aplikaci. I ty 4 GB u 64 bit win mohou být v některých věcech problém. Není to omezení spíš 2^32 signed, což by znamenalo od -2 GiB do +2 GiB (2 GiB = 2^31 B (unsigned by bylo do 4 GiB) u 32-bit win, ale u 64-bit win by to mohlo být 2^64 resp. 2^63 B a to se jen tak nepřekročí. Ale to byl jen tip, protože to jsou rozsahy integer v pascalu. 2 GiB resp. 4 GiB jsou limity ne velikosti souborů v ISO resp. FAT file system (je to 2^31 B resp. 2^32 B). U NTFS je tento limit 2^64 B. Ale s procesy u 64-bit win nemam skušenost, jen mě to napadlo.

mowla*

Je to omezení dané OS, nesouvisí přímo s max. možností adresace. A pokud píšeš nějakou aplikaci pro obecné použití, musíš dát pozor ještě na další omezení Win (zejména verzí Starter) tam je max. 1 GB/proces..., mám dojem, že u WinXP Starter (nebo jak se jmenovala, nyní už se neprodává) je to omezení dokonce na jen 512 MB/proces.

 

kangaroo*
hodnocení

2x

Co na tom provozuješ střih videa, CAD,...? Co máš za desku 32bit podporujou do 3GB. Jestli je to nějaký náročný program, tak se koukni na minimální konfiguraci PC pro běh programu a pokud to budeš splnovat, tak se kouknout po update či patch (záplatě) která tento problém řeší na stánce programu či diskuzích k programu.

honza51
hodnocení

Nejčastěji databáze/datový sobor se větším počtem dat, tvoření panorama, problém je i u tvoření obrazu disku při vězším počtu souborů - vyšplhá se nad 2 GB proces ve vyjímečných případech. U velkých obrázků je limit jiný - BMP data a místo v ram (šířka x výška x barevná hloubka) max. 400 MB. Limit 2 GB je skutečně na jeden proces (ne aplikaci). Velikost paměti zabrané systémem i velikost fyzické ram není tako omezena.

 

dzordz*
hodnocení

0x

Mohlo by se dát zvednout limit na 3GB na proces, pokud tedy alespoň ty 3GB máte a pokud takovéhle úpravy za to stojí. Viz support.microsoft.com/...

Každopádně nechápu, proč všechny programy rovnou padají, copak si nekontrolujou alokovanou paměť? Dalo by se to pochopit v linuxu, kde to funguje jiným způsobem, ale ve windows se paměť přiděluje přímo a okamžitě. Tvořím image disku, přidávám soubor -> řeknu si o paměť -> žádnou nedostanu -> vypíšu chybu, soubor nepřidám, nechám to uživatele opravit.

Jinak ten limit není ani celé 2GB, je to 1.9něco. Na 64bit je limit až v řádu TB, tedy za předpokladu, že to máte kam odkládat na disk.

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]