Facebook yakonza njira yatsopano yowongolera kukumbukira kwa Linux kernel

Roman GushchinRoman Gushchin) kuchokera ku Facebook lofalitsidwa pamndandanda wamakalata wa Linux kernel Madivelopa seti ya zigamba ndi kukhazikitsa kwatsopano kukumbukira kukumbukira. mbale (wolamulira wa slab memory). Woyang'anira watsopano ndiwodziwikiratu pakusuntha ma accounting a slab kuchokera pa tsamba lokumbukira kupita pamlingo wa chinthu cha kernel, zomwe zimapangitsa kuti zitheke kugawana masamba a slab m'magulu osiyanasiyana, m'malo mogawa ma cache osiyana pagulu lililonse.

Njira yomwe ikuperekedwayi imapangitsa kuti ziwonjezeke bwino kugwiritsa ntchito slab, kuchepetsa kukula kwa kukumbukira komwe kumagwiritsidwa ntchito pa slab ndi 30-45%, ndikuchepetsa kwambiri kukumbukira kukumbukira kwa kernel. Pochepetsa kuchuluka kwa ma slabs osasunthika, palinso zotsatira zabwino pakuchepetsa kugawika kwa kukumbukira. Wolamulira watsopano wamakumbukiro amathandizira kwambiri kachidindo ka ma accounting a slabs ndipo safuna kugwiritsa ntchito ma aligorivimu ovuta kuti apange ndikuchotsa ma cache a slab pagulu lililonse. Magulu onse okumbukira pakukhazikitsa kwatsopano amagwiritsa ntchito ma cache a slab, ndipo moyo wa ma cache a slab sunamangidwenso ku moyo wa omwe adayikidwa kudzera mgululi. zoletsa pakugwiritsa ntchito kukumbukira.

Kuwerengera kolondola kwazinthu zomwe zakhazikitsidwa muwowongolera watsopano wa slab kuyenera kuyika CPU mochulukirapo, koma pochita zosiyanitsa zidakhala zocheperako. Makamaka, wowongolera watsopano wa slab wakhala akugwiritsidwa ntchito kwa miyezi ingapo pakupanga ma seva a Facebook omwe akugwira ntchito zosiyanasiyana, ndipo palibe kubweza komwe kwadziwika komwe kwadziwika. Panthawi imodzimodziyo, pali kuchepa kwakukulu kwa kukumbukira kukumbukira - kwa makamu ena kunali kotheka kusunga mpaka 1GB ya kukumbukira, koma chizindikiro ichi chimadalira kwambiri mtundu wa katundu, kukula kwa RAM, chiwerengero cha CPUs. ndi mawonekedwe akugwira ntchito ndi kukumbukira. Mayeso am'mbuyomu anasonyeza kuchepetsa kukumbukira kukumbukira ndi 650-700 MB (42% ya kukumbukira kwa slab) kumapeto kwa intaneti, 750-800 MB (35%) pa seva yokhala ndi cache ya DBMS ndi 700 MB (36%) pa seva ya DNS.

Source: opennet.ru

Kuwonjezera ndemanga