Facebook je predlagal nov mehanizem upravljanja slab pomnilnika za jedro. Linux

Roman Guščin (Roman Guščin) iz Facebooka objavljeno na poštnem seznamu razvijalcev jedra Linux niz popravkov, ki implementirajo nov krmilnik dodeljevanja pomnilnika plošča (krmilnik pomnilnika slab). Novi krmilnik je znan po tem, da je obračunavanje slabov premaknil z ravni pomnilniških strani na raven objektov jedra, kar omogoča skupno rabo strani slabov med različnimi kontrolnimi skupinami, namesto da bi se za vsako kontrolno skupino dodeljevali ločeni predpomnilniki slabov.

Predlagani pristop izboljša izkoriščenost slabov, zmanjša velikost pomnilnika slabov za 30–45 % in znatno zmanjša skupno porabo pomnilnika jedra. Zmanjšanje števila nepremičnih slabov ima tudi pozitiven učinek na zmanjšanje fragmentacije pomnilnika. Novi krmilnik pomnilnika znatno poenostavi kodo za obračunavanje slabov in odpravlja potrebo po kompleksnih algoritmih za dinamično ustvarjanje in brisanje predpomnilnikov slabov za vsako kontrolno skupino. Vse kontrolne skupine pomnilnika v novi implementaciji si delijo skupen nabor predpomnilnikov slabov, življenjska doba predpomnilnikov slabov pa ni več vezana na življenjsko dobo tistih, ki so vzpostavljeni prek kontrolne skupine. omejitve glede porabe pomnilnika.

Natančnejše obračunavanje virov, implementirano v novem krmilniku slabov, bi teoretično moralo povečati izkoriščenost procesorja, vendar so se v praksi razlike izkazale za nepomembne. Natančneje, novi krmilnik slabov se že več mesecev uporablja na produkcijskih strežnikih Facebooka, ki obdelujejo različne vrste delovnih obremenitev, in doslej ni bilo opaziti nobenih pomembnih regresij. Hkrati je bilo opaženo znatno zmanjšanje porabe pomnilnika – na nekaterih gostiteljih je bilo prihranjenih do 1 GB pomnilnika, vendar se ta številka zelo razlikuje glede na naravo delovne obremenitve, skupno velikost RAM-a, število procesorjev in funkcije upravljanja pomnilnika. Predhodno izvedeni testi pokazala Zmanjšanje porabe pomnilnika za 650–700 MB (42 % osnovnega pomnilnika) na spletnem vmesniku, 750–800 MB (35 %) na strežniku s predpomnilnikom DBMS in 700 MB (36 %) na strežniku DNS.

Vir: opennet.ru

Kupite zanesljivo gostovanje za strani z DDoS zaščito, VPS VDS strežniki 🔥 Kupite zanesljivo spletno gostovanje z zaščito DDoS, VPS VDS strežniki | ProHoster