Fragmentuje sa RAM?

Obsah:

Fragmentuje sa RAM?
Fragmentuje sa RAM?
Anonim

Fragmentácia sa vyskytuje aj v systémovej pamäti (RAM). Aplikačné a systémové procesy prideľujú a používajú pamäť v nesúvislých blokoch, pretože existujúce pamäťové registre sa používajú a opätovne používajú.

Môže sa Ram roztrieštiť?

Pamäťové stránkovanie vytvára vnútornú fragmentáciu, pretože celý rámec stránky bude pridelený bez ohľadu na to, či je alebo nie je potrebné toľko miesta. Kvôli pravidlám, ktorými sa riadi prideľovanie pamäte, sa niekedy pridelí viac pamäte počítača, ako je potrebné.

Čo spôsobuje fragmentáciu pamäte?

Fragmentácia pamäte je, keď väčšina vašej pamäte je alokovaná vo veľkom počte nesúvislých blokov alebo kúskov – veľké percento vašej celkovej pamäte zostáva nepridelené, ale nepoužiteľné pre väčšinu typických scenárov. Výsledkom sú výnimky z nedostatku pamäte alebo chyby alokácie (t. j. malloc vráti hodnotu null).

Je fragmentácia pamäte zlá?

Vo všeobecnosti programovanie v c++ s fragmentáciou pamäte nie je problém. Vždy vidíte virtuálnu pamäť a vždy prideľujete súvislé časti virtuálnej pamäte. Jediná vec, ktorú si môžete všimnúť, že postupne pridelené časti nie sú nevyhnutne susediace v pamäti.

Ako predchádzate fragmentácii pamäte?

Ak dokážete izolovať presne tie miesta, kde je pravdepodobné, že budete prideľovať veľké bloky, môžete (v systéme Windows) priamo zavolať VirtualAlloc namiesto toho, aby ste museli prechádzať cez správcu pamäte. Vyhnete sa tomufragmentácia v rámci bežného správcu pamäte.

Odporúča: