A Facebook új lemezmemória-kezelési mechanizmust javasolt a Linux kernelhez

Roman Gushchin (Római Gushchin) a Facebookról közzétett a Linux kernel fejlesztőinek levelezőlistáján egy sor javítás egy új memóriafoglalási vezérlő megvalósításával lap (lemezes memóriavezérlő). Az új vezérlő figyelemre méltó, hogy a födémelszámolást a memórialapok szintjéről a kernelobjektum szintjére helyezi át, ami lehetővé teszi a födémoldalak megosztását különböző cgroupokban, ahelyett, hogy minden egyes cgrouphoz külön födém-gyorsítótárat rendelne.

A javasolt megközelítés lehetővé teszi a slab használatának hatékonyságának növelését, a födémhez használt memória méretének 30-45%-os csökkentését és a kernel teljes memóriafogyasztásának jelentős csökkentését. A nem mozgatható födémek számának csökkentése pozitív hatással van a memória töredezettségének csökkentésére is. Az új memóriavezérlő jelentősen leegyszerűsíti a födémek elszámolásának kódját, és nem igényel bonyolult algoritmusokat az egyes ccsoportok födém-gyorsítótárainak dinamikus létrehozásához és törléséhez. Az új megvalósításban az összes memória-cgroup közös födém-gyorsítótár-készletet használ, és a födém-gyorsítótárak élettartama többé nincs kötve a cgroupon keresztül telepítettek élettartamához. korlátozások a memóriahasználatról.

Az új födémvezérlőben megvalósított pontosabb erőforrás-elszámolás elméletileg jobban terhelné a CPU-t, de a gyakorlatban az eltérések jelentéktelennek bizonyultak. Az új födémvezérlőt több hónapja használták a különböző típusú munkaterheléseket kezelő, éles Facebook-szervereken, és még nem észleltek észrevehető regressziót. Ugyanakkor jelentősen csökken a memóriafogyasztás - egyes gépeken akár 1 GB memóriát is meg lehetett menteni, de ez a mutató nagymértékben függ a terhelés jellegétől, a RAM teljes méretétől és a CPU-k számától. és a memóriával való munka jellemzői. Korábbi tesztek megmutatta memóriafelhasználás csökkenése 650-700 MB-al (a lapmemória 42%-a) a webes előtérben, 750-800 MB-al (35%) a DBMS-gyorsítótárral rendelkező szerveren és 700 MB-al (36%) a DNS-kiszolgálón.

Forrás: opennet.ru

Hozzászólás