Facebook huet en neie Plack Memory Management Mechanismus fir de Linux Kernel proposéiert

Roman Gushchin (Roman Guschchin) vu Facebook publizéiert op der Mailing Lëscht vu Linux Kernel Entwéckler eng Rei vu Patches mat der Ëmsetzung vun engem neie Memory Allocation Controller Stonneplang (Plack Memory Controller). Den neie Controller ass bemierkenswäert fir d'Plack Accounting vum Erënnerungssäitniveau op de Kärelobjektniveau ze bewegen, wat et méiglech mécht Plack Säiten a verschiddene cgroups ze deelen, anstatt getrennte Plack-Cache fir all cgroup ze verdeelen.

Déi proposéiert Approche mécht et méiglech d'Effizienz vun der Benotzung vun der Plack ze erhéijen, d'Gréisst vun der Erënnerung, déi fir Plack benotzt gëtt, ëm 30-45% ze reduzéieren, a wesentlech de Gesamtverbrauch vum Gedächtnis vum Kärel reduzéieren. Duerch d'Reduktioun vun der Unzuel vun net-beweegbare Placken gëtt et och e positiven Effekt fir d'Erënnerungsfragmentéierung ze reduzéieren. Den neie Memory Controller vereinfacht wesentlech de Code fir d'Rechnung vu Placken a erfuerdert net d'Benotzung vu komplizéierten Algorithmen fir dynamesch Schafung an Läschen Plack-Cache fir all cgroup. All Memory Cgroups an der neier Implementatioun benotzen e gemeinsame Set vu Plack Cache, an d'Liewensdauer vu Plack Cache ass net méi un d'Liewensdauer vun deenen, déi duerch d'cgroup installéiert sinn, gebonnen. Restriktiounen op Erënnerung Benotzen.

Déi méi genee Ressource Comptabilitéit, déi am neie Plack Controller implementéiert ass, soll theoretesch d'CPU méi lueden, awer an der Praxis hunn d'Ënnerscheeder sech als onbedeitend erausgestallt. Besonnesch den neie Plack Controller gouf fir e puer Méint op Produktioun Facebook Serveren benotzt, déi verschidden Aarte vun Aarbechtslaascht behandelen, a keng merkbar Regressiounen sinn nach identifizéiert ginn. Zur selwechter Zäit gëtt et e wesentleche Reduktioun vum Gedächtnisverbrauch - op e puer Hosten war et méiglech bis zu 1GB Erënnerung ze spueren, awer dësen Indikator hänkt ganz vun der Natur vun der Belaaschtung, der Gesamtgréisst vum RAM, der Unzuel vun den CPUs of an d'Features fir mat Erënnerung ze schaffen. Virdrun Tester gewisen Reduktioun vun Erënnerung Konsum vun 650-700 MB (42% vun Placke Erënnerung) op de Web Front-Enn, 750-800 MB (35%) op de Server mat engem DBMS Cache an 700 MB (36%) op der DNS Server.

Source: opennet.ru

Setzt e Commentaire