K fragmentaci paměti dochází, když systém obsahuje paměť, která je technicky volná, ale kterou počítač nemůže využít. Alokátor paměti, který přiřazuje potřebnou paměť různým úkolům, rozděluje a přiděluje bloky paměti tak, jak jsou požadovány programy; při mazání dat se v systému uvolní více paměťových bloků a přidá se zpět do fondu dostupné paměti. Když akce alokátoru nebo obnovení dříve obsazených segmentů paměti vedou k blokům nebo dokonce bajtům paměti, které jsou příliš malé nebo příliš izolované na to, aby mohly být použity fondem paměti, došlo k fragmentaci. Fragmentace může z volné paměti počítače významně ukousnout a často je příčinou frustrujících chybových zpráv o nedostatku paměti.
Vnitřní fragmentace
Interní fragmentace nastane, když alokátor paměti ponechá další místo prázdné uvnitř bloku paměti, který byl přidělen klientovi. K tomu obvykle dochází, protože design procesoru stanoví, že paměť musí být rozřezána na bloky určitých velikostí - například může být vyžadováno, aby bloky byly rovnoměrně rozděleny na čtyři, osm nebo 16 bytů. Když k tomu dojde, klientovi, který potřebuje například 57 bajtů paměti, může být přidělen blok, který obsahuje 60 bajtů nebo dokonce 64. Nadbytečné bajty, které klient nepotřebuje, jdou nazmar a postupem času tyto drobné bloky nevyužité paměti se může vytvořit a vytvořit velké množství paměti, kterou nemůže alokátor použít. Protože všechny tyto zbytečné bajty jsou uvnitř větších paměťových bloků, je fragmentace považována za interní.
Vnější fragmentace
Externí fragmentace nastane, když alokátor paměti opustí části nevyužitých paměťových bloků mezi částmi alokované paměti. Například pokud je v souvislé lince přiděleno několik paměťových bloků, ale jeden ze středních bloků v lince je uvolněn (možná proto, že proces, který tento blok paměti používal, přestal běžet), je volný blok fragmentován. Blok je i nadále k dispozici pro použití alokátorem později, pokud existuje potřeba paměti, která se do tohoto bloku vejde, ale blok je nyní nepoužitelný pro potřeby větší paměti. Nelze ji soustředit zpět s celkovou volnou pamětí dostupnou pro systém, protože celková paměť musí sousedit, aby byla použitelná pro větší úkoly. Tímto způsobem mohou celé části volné paměti skončit izolovaně od celku, které jsou často příliš malé pro významné použití, což vytváří celkovou redukci volné paměti, která v průběhu času může vést k nedostatku dostupné paměti pro klíčové úkoly.
Fragmentace může pro systémy znamenat velké problémy
Fragmentace se může stát problémem, protože se postupem času hromadí, vytváří malé a zbytečné bloky paměti a omezuje množství volné paměti počítače. Jak postupuje, fragmentace může v krátkodobém horizontu způsobit zpomalení a zpomalení výkonu systému; z dlouhodobého hlediska může fragmentace zkrátit životnost počítače nebo serveru v průměru o 30 procent. Ze dvou typů fragmentace je interní předvídatelnější než externí, protože množství zbytečného prostoru je určeno parametry alokátoru paměti (jak velké musí být přidělené bloky), což je konstanta. Kromě toho je množství celkové paměti ztracené vnitřní fragmentací obvykle menší než to, co se ztratilo vnější fragmentací, i když se může postupně hromadit. Na druhou stranu je těžší předvídat externí fragmentaci, protože ve většině případů se v systému pravidelně spouští a zastavuje několik procesů a bloky paměti, které se používají po různou dobu, se uvolňují v jiném pořadí, než v jakém byly vyplněny, ponechání mezer v dostupné paměti.
Fragmentace boje pro lepší výkon
Pokud jde o optimalizaci RAM, jediným užitečným řešením je restart systému, který vymaže většinu paměti používané dlouhodobě běžícími programy a poskytne počítači nový začátek přidělování paměti. Nástroje, které tvrdí, že defragmentují paměť RAM, jsou zavádějící, protože správce virtuální paměti v moderních počítačích neustále optimalizuje využití paměti RAM. U vašeho pevného disku však může být nutné provést nějakou defragmentaci, aby se maximalizoval výkon systému. Pokud používáte systém Windows Vista nebo novější verze, systém automaticky pravidelně defragmentuje místo na pevném disku. Pokud si všimnete pomalejšího výkonu systému a chcete defragmentátor spustit sami, můžete proces spustit ručně kliknutím na tlačítko „Start“ a poté na „Všechny programy | Příslušenství | Systémové nástroje | Defragmentace disku“. Nakonec klikněte na „Defragmentovat nyní“. Tento proces může trvat kdekoli od minut do hodin v závislosti na tom, jak fragmentovaný je váš pevný disk, ale dobrou zprávou je, že můžete počítač používat, když je spuštěný program Defragmentace disku.
Problém fragmentace se nevztahuje na všechny operační systémy stejně. U počítačů Mac není defragmentace nutná, protože Mac OS X při zápisu souborů automaticky optimalizuje místo na disku. Stroje s Linuxem také nevyžadují pravidelnou defragmentaci, protože namísto souvislého přiřazují paměť v rozptýleném formátu, což dává souborům prostor k rozšíření. Uživatelé systému Linux, kteří zaznamenají pokles výkonu systému, by měli zvážit zvětšení velikosti svého pevného disku. Nakonec byste nikdy neměli defragmentovat jednotku úložiště SSD (například jednotku USB), protože defragmentace může ve skutečnosti zkrátit použitelnou životnost jednotek SSD.