Atminties suskaidymas įvyksta, kai sistemoje yra atmintis, kuri yra techniškai laisva, tačiau kompiuteris negali jos panaudoti. Atminties paskirstytojas, kuris priskiria reikalingą atmintį įvairioms užduotims, padalija ir paskirsto atminties blokus, kaip jų reikalauja programos; ištrynus duomenis, sistemoje atlaisvinama daugiau atminties blokų ir vėl pridedama prie turimos atminties. Kai paskirstytojo veiksmai arba anksčiau užimtų atminties segmentų atkūrimas veda prie atminties blokų ar net baitų, kurie yra per maži arba per daug izoliuoti, kad juos būtų galima naudoti atminties telkinyje, įvyko fragmentacija. Suskaidymas gali užtrukti nemažai laisvos kompiuterio atminties, ir tai dažnai sukelia nemalonių atminties klaidų pranešimų priežastis.
Vidinis susiskaldymas
Vidinis suskaidymas įvyksta, kai atminties paskirstytojas palieka papildomą vietą tuščią atminties bloke, kuris buvo skirtas klientui. Dažniausiai taip nutinka todėl, kad procesoriaus dizainas numato, kad atmintis turi būti suskirstyta į tam tikro dydžio blokus - pavyzdžiui, gali reikėti, kad blokai būtų tolygiai padalyti iš keturių, aštuonių ar 16 baitų. Tokiu atveju klientui, kuriam reikia, pavyzdžiui, 57 baitų atminties, gali būti skirtas blokas, kuriame yra 60 baitų arba net 64. Papildomi baitai, kurių klientui nereikia, eikvojami, o laikui bėgant šie maži gabaliukai nenaudojamos atminties gali kaupti ir sukurti didelius atminties kiekius, kurių paskirstytojas negali naudoti. Kadangi visi šie nenaudingi baitai yra didesnių atminties blokų viduje, fragmentiškumas laikomas vidiniu.
Išorinis suskaidymas
Išorinis suskaidymas įvyksta, kai atminties paskirstytojas palieka nenaudojamų atminties blokų sekcijas tarp paskirstytos atminties dalių. Pvz., Jei keli atminties blokai yra paskirstomi ištisinėje eilutėje, tačiau vienas iš vidurinių eilutės blokų yra atlaisvintas (galbūt todėl, kad procesas, kuris naudojo tą atminties bloką, nustojo veikti), laisvasis blokas yra suskaidytas. Bloką vis tiek galima naudoti paskirstytojui vėliau, jei reikia atminties, kuri telpa į tą bloką, tačiau blokas dabar yra netinkamas didesnėms atminties reikmėms. Jos negalima susigrąžinti su visa laisva atmintimi, kuri yra sistemoje, nes visa atmintis turi būti gretima, kad ją būtų galima naudoti didesnėms užduotims atlikti. Tokiu būdu ištisos laisvos atminties dalys gali būti izoliuotos nuo visumos, kurios dažnai yra per mažos reikšmingam naudojimui, o tai sukuria bendrą laisvos atminties sumažėjimą, kuris laikui bėgant gali trūkti atminties pagrindinėms užduotims atlikti.
Suskaidymas gali reikšti dideles sistemų problemas
Suskaidymas gali tapti problema, nes jis laikui bėgant kaupiasi, sukuria mažus ir nenaudingus atminties blokus ir riboja laisvos kompiuterio atminties kiekį. Vykstant pažangai, suskaidymas gali sukelti sistemos veikimo lėtumą ir lėtumą per trumpą laiką; ilgainiui suskaidymas gali sutrumpinti kompiuterio ar serverio gyvenimą vidutiniškai 30 procentų. Iš dviejų suskaidymo tipų vidinis yra labiau nuspėjamas nei išorinis, nes sugaištos vietos kiekį lemia atminties paskirstytojo parametrai (kiek turi būti paskirstyti blokai), o tai yra konstanta. Be to, bendrosios atminties, prarastos dėl vidinio susiskaidymo, kiekis paprastai yra mažesnis nei prarasta dėl išorinio susiskaidymo, nors ji gali palaipsniui kauptis. Kita vertus, išorinį susiskaidymą sunkiau numatyti, nes daugeliu atvejų sistemoje reguliariai pradedami ir sustoja keli procesai, o atminties blokai, naudojami įvairaus ilgio, atlaisvinami kita tvarka, nei buvo užpildyti, paliekant laisvos atminties spragas.
Kova su susiskaidymu dėl geresnių rezultatų
Kalbant apie RAM optimizavimą, vienintelis naudingas sprendimas yra sistemos perkrovimas, kuris išvalo didelę atmintį, kurią naudoja ilgai veikiančios programos, ir suteikia kompiuteriui naują pradžią paskirstyti atmintį. Įrankiai, kurie teigia, kad defragruoja RAM, yra klaidinantys, nes šiuolaikinių kompiuterių virtualiosios atminties tvarkyklė veikia nuolat optimizuodama RAM naudojimą. Kietajame diske, norint maksimaliai padidinti sistemos našumą, gali reikėti šiek tiek suskaidyti. Jei naudojate „Windows Vista“ arba naujesnę versiją, sistema jums automatiškai automatiškai defragruoja jūsų standžiojo disko vietą. Jei pastebite lėtesnį sistemos veikimą ir norite patys paleisti defragmentavimo priemonę, galite rankiniu būdu pradėti procesą spustelėdami „Pradėti“, tada „Visos programos | Priedai | Sistemos įrankiai | Disko defragmentuotojas". Galiausiai spustelėkite „Defragment Now“. Priklausomai nuo kietojo disko suskaidymo, procesas gali užtrukti nuo minučių iki valandų, tačiau gera žinia ta, kad kompiuterį galite naudoti, kol veikia disko defragmentavimo priemonė.
Suskaidymo problema netaikoma visoms operacinėms sistemoms vienodai. „Mac“ kompiuteriuose defragmentuoti nereikia, nes „Mac OS X“ rašant failus automatiškai optimizuoja vietos diske. „Linux“ mašinos taip pat nereikalauja reguliaraus defragmentavimo, nes atmintį priskiria išsklaidytu, o ne greta esančiu formatu, suteikdamos failams galimybę plėstis. „Linux“ vartotojai, kuriems pastebimas sistemos našumo sumažėjimas, turėtų apsvarstyti galimybę padidinti kietojo disko dydį. Galiausiai, niekada neturėtumėte defragmentuoti kietosios būsenos atminties disko (pvz., USB disko), nes defragmentavimas iš tikrųjų gali sutrumpinti kietojo kūno diskų naudingo tarnavimo laiką.