Facebook nabídl nový mechanismus správy paměti slab pro jádro Linux

Roman Huščin (Roman Huščin) ze společnosti Facebook vydal na seznamu distribuce vývojářů jádra Linux s novou sadou patchů implementujících nový řadič pro správu paměti slab (řadič slabové paměti). Nový řadič se vyznačuje přenosem evidence slabů z úrovně stránek paměti na úroveň objektů jádra, což umožňuje sdílení slabových stránek mezi různými cgroup, místo vytváření samostatných slabových cache pro každou cgroup.

Navrhovaný přístup zvyšuje efektivitu využívání slabů, snižuje objem využívané paměti pro slab o 30-45 % a významně snižuje celkovou spotřebu paměti jádrem. Díky snížení počtu nepřenosných slabů je také zaznamenán pozitivní efekt v oblasti snížení fragmentace paměti. Nový řadič paměti značně zjednodušuje kód pro evidenci slabů a nevyžaduje složité algoritmy pro dynamické vytváření a odstraňování slabových cache pro každou cgroup. Všechna cgroup pro paměť v nové implementaci využívají společnou sadu slabových cache, a doba života slabových cache již není vázána na dobu života nastavenou přes cgroup omezení pro využití paměti.

Realizované v novém řadiči slab přesnější sledování zdrojů by teoreticky mělo více zatěžovat CPU, ale v praxi se rozdíly ukázaly jako nevýznamné. Nový řadič slab se již několik měsíců používá na pracovních serverech Facebooku, které zpracovávají různé typy zátěže, a zatím nebyly zaznamenány žádné výrazné regresy. Současně došlo k podstatnému snížení spotřeby paměti — na některých hostitelích se podařilo ušetřit až 1 GB paměti, ale toto číslo silně závisí na povaze zátěže, celkové velikosti RAM, počtu CPU a specifikách práce s pamětí. Dříve provedené testy jsme ukázali ukázaly snížení spotřeby paměti o 650-700 MB (42 % z slabové paměti) na webovém front-endu, 750-800 MB (35 %) na serveru s cache DBMS a 700 MB (36 %) na DNS serveru.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster