SWAP soubor (cz windows stránkovací soubor) nebo v jiných systémech i partition/celý disk je záležitost stará desítky let.
V době kdy počítače měly málo paměti, operační systémy fyzickou paměť rozšiřovaly soborem (nebo daty na partition) kde se ukládají aktuálně nepoužívané stránky fyzické paměti, ta se mohla uvolnit a použít tam kde právě byla potřeba. když pak bylo zase potřeba těch dat co byly odložené na disk, tak se z disku nahrají do fyzické paměti a do ní odloží zase něco nepotřebného. Prohazují se tam data sem a tam, proto ten SWAP.
Samozřejmě transfer dat mezi fyzickou pamětí a diskem je mnohonásobně pomalejší než práce se samotnou fyzickou pamětí. Dnešní PC spotřebitelského segmetu s dualchanel DDR4 dosahují přenosových rychlostí typicky mezi 40-50GB za sekundu, v případě high end/enthusiast platforem s quad channel se dostáváš na 80-100GB/s, servery umí i osmikanálové zapojení pamětí, což ty hodnoty teoreticky ještě zdvojnásobí.
S postupem času, kdy nám vyrostly kapacity pamětí do současných hodnot SWAP začíná postrádat význam. Nicméně operační systémy s ním stále počítají. V ideálním případě se do swapu nebude zapisovat do doby dokud to není nutné, ale ideální svět neexistuje, takže i když budeš mít 128/256GB paměti a budeš mít nastartované jen windows, stejně si tam občas něco zapíší... stojí to nějaké režijní časy a v případě SSD to přináší i další opotřebení čipů na disku zbytečnými zápisy. Proto je nejlepší ho vypnout.
S vypnutým swapem ale nastane problém:
A: některé starší aplikace bez něj neumí existovat
B: jakmile dochází fyzická paměť, způsobí to nestabilitu programů a bude docházet k jejim pádům ve chvíli kdy se budou snažit alokovat paměť kterou systém nemá k dispozici.
Je třeba myslet na to že to co člověk vidí ve windows jako využívanou paměť není objem paměti, kterou aplikace žádají (to je hodnota "system commit" - potvrzená paměť)
Aplikace si může požádat třeba o 10GB paměti, pokud je systém má, alokuje paměť pro tu aplikaci i když ji aktuálně aplikace ještě nevyužívá. Pokud tu paměť systém nemá, tak aplikace obvykle spadne (buď natvrdo, nebo s nějakou hezkou chybovou hláškou, záleží jak to má ošetřeno apliace a jak málo paměti systému zbývá). S povoleným swap souborem nastaveným na automatickou velikost, může být objem alokované paměti v podstatě nekonečný (exsistuje limit 64 bit systémů v řádech peta? exa? bytů), jelikož tu paměť aplikace reálně nepoužívá tak ani nic není potřeba ukládat do swapu...
|
|