Järjestelmämuistissa (RAM) esiintyy myös pirstoutumista. Sovellus- ja järjestelmäprosessit varaavat ja käyttävät muistia ei-vierekkäisissä lohkoissa, kun olemassa olevia muistirekistereitä käytetään ja käytetään uudelleen.
Voiko Ram pirstoutua?
Muistin sivutus luo sisäistä pirstoutumista, koska koko sivukehys varataan riippumatta siitä, tarvitaanko niin paljon tallennustilaa vai ei. Muistin varaamista koskevien sääntöjen vuoksi tietokoneelle varataan joskus enemmän muistia kuin on tarpeen.
Mikä aiheuttaa muistin pirstoutumista?
Muistin pirstoutuminen on sitä, kun suurin osa muistista on varattu suureen määrään ei-vierekkäisiä lohkoja tai paloja - mikä jättää hyvän osan kokonaismuistista varaamatta, mutta käyttökelvoton. tyypillisimpiä skenaarioita varten. Tämä johtaa muistin loppumiseen liittyviin poikkeuksiin tai varausvirheisiin (eli malloc palauttaa nollan).
Onko muistin pirstoutuminen pahasta?
Yleensä c++-ohjelmointi muistin pirstoutumisen kanssa ei ole ongelmaa. Näet aina virtuaalimuistin ja varaat aina vierekkäisiä virtuaalimuistin paloja. Ainoa asia, jonka voit huomata, että peräkkäin varatut palat eivät välttämättä ole vierekkäin muistissa.
Miten estät muistin pirstoutumisen?
Jos voit eristää tarkalleen ne paikat, joihin todennäköisesti varaat suuria lohkoja, voit (Windowsissa) suoraan soittaa VirtualAllocille sen sijaan, että käyt läpi muistinhallinnan. Tämä välttääpirstoutuminen normaalissa muistinhallinnassa.