Átalakulhat a Linux kernel swaplogikája: Megérkezett a Virtual Swap Space újabb változata

Nhat Pham 2026. március 18-án közzétette a Virtual Swap Space negyedik, 21 javításból álló sorozatát. A fejlesztés lényege, hogy a swapbejegyzések ne legyenek közvetlenül a mögöttes fizikai tárolóhoz kötve. Az elképzelés szerint a kernel először egy dinamikusan kiosztott virtuális swaphelyet kezelne, és csak ezt követően rendelné hozzá a tényleges háttértárat vagy más tárolási formát. A most közzétett patch sorozat a 6.19-es kernel alapjaira épül, de jelenleg még nem a mainline része, azaz változhatnak még a részletek.

Átalakulhat a Linux kernel swaplogikája: Megérkezett a Virtual Swap Space újabb változata

A fejlesztési csomag lényege

A Virtual Swap Space mögötti koncepció lényege, hogy a mai swapkezelés számos ponton túlságosan szorosan köti össze a lapozott oldalt a fizikai háttértárral. A patchsorozat indoklása szerint a jelenlegi felépítés addig működik hatékonyan, amíg a swap hagyományos lemezterületként viselkedik, a zswap, a nullázott oldalak és más újabb eljárások mellett azonban egyre több megkötést okoz.

Az új fejlesztés ezért egy köztes réteget iktatna be: a lapozó kliens egy virtuális swaphelyet kapna, a kernel pedig egy külön leíróban tartaná nyilván, hogy az adott bejegyzés végül zswapban, nullázott lapként, swapfájlban vagy akár memóriában található. A fejlesztő szerint ez nemcsak a zswap és a fizikai swap szétválasztását tenné egyszerűbbé, hanem a swapoff folyamatot is lerövidíthetné, mert nem kellene teljes oldaltáblás bejárást végezni a háttértárhoz kötött hivatkozások átírásához.

A mostani fejlesztési csomag egyik lényeges változása, hogy a virtuális swapleíró mérete 24 bájtra csökkent, így ennek köszönhetően több korábbi adatstruktúra feladatát is átveheti. A mellékelt példák szerint zswap használata mellett 0 és 25 százalékos kihasználtságnál az összesített többletigény még a jelenlegi megoldásénál is alacsonyabb lehet, később pedig ugyan emelkedik, de a felvázolt szélső esetben is csak a teljes swapfájl kis részét teszi ki. Tisztán lemezes swapnál ez a többlet nagyobb, a kísérőlevél számításai alapján azonban csak fél százalék alatti nagyságrendről van szó. A patchsorozat indoklása azt is kiemeli, hogy ezzel a zswap megszabadulhatna a fizikai swapfájl előzetes lefoglalásának kényszerétől, ami mobilos, beágyazott vagy nagy memóriával rendelkező rendszereknél is tágabb mozgásteret adhatna.

A Virtual Swap Space a Linux kernel swaprendszerének nagyobb átalakítását készítheti elő

A patchsorozathoz mellékelt mérések alapján a teljesítmény egyelőre nem mutat látványos visszaesést. Kernelfordításnál zswap és SSD-alapú háttér mellett is nagyon közel maradt egymáshoz a jelenlegi és az új megoldás, a usemem tesztnél pedig a Virtual Swap Space kis előnyt mutatott a futási idő és az átviteli érték terén. Nhat Pham ugyanakkor maga is jelzi, hogy a szórás nagy, ezért ezekből még nem érdemes végleges következtetést levonni. A mostani v4-es fejlesztési kör inkább azt próbálja megmutatni, hogy a felépítés életképes maradhat akkor is, ha a swapkezelés mögötti szerkezetet jóval rugalmasabb irányba tolják el.

A fejlesztés igazi súlyát az adja, hogy nem egyetlen szűk hibára vagy apró gyorsításra ad választ, hanem több későbbi irány előtt is megnyithatja az utat. A kísérőlevél külön megemlíti a többszintű swappinget, a swapfájl-tömörítést, a THP-s swapin új lehetőségeit és a zswap writeback okosabb kezelését. A koncepció gyökerei nem is most születtek: a levél szerint a mostani fejlesztés Yosry Ahmed 2023-as javaslataira épülnek, de hasonló elképzelés már 2011-ben is felbukkant Rik van Riel részéről. A Virtual Swap Space így egyelőre még nem fog megjelenni a Linux kernel következő 7.1-es kiadásában.

További információk és alátámasztott mérési eredmények a kernel levelezőlistáján található bejegyzésben olvashatóak.