Cara Manajemen Memori Anyar Facebook

Salah sawijining anggota tim pangembangan jaringan sosial Facebook, Roman Gushchin, ngajokaken ing milis pangembang pesawat saka Patch kernel Linuxngarahake kanggo nambah manajemen memori liwat implementasi controller manajemen memori anyar - slab (pengontrol memori slab).

distribusi slab minangka mekanisme manajemen memori sing dirancang kanggo ngalokasi memori kanthi luwih efisien lan ngilangi fragmentasi sing signifikan. Ing basis saka algoritma iki kanggo nyimpen memori diparengake ngemot obyek saka jinis tartamtu lan nggunakake maneh memori sing wektu sabanjurΓ© diparengake kanggo obyek saka jinis padha. Teknik iki pisanan dikenalakΓ© ing SunOS dening Jeff Bonwick lan saiki akeh digunakake ing inti saka akeh sistem operasi Unix, kalebu FreeBSD lan Linux.

Controller anyar adhedhasar obah accounting slab saka tingkat kaca memori kanggo tingkat obyek kernel, kang ndadekake iku bisa kanggo nuduhake siji kaca slab ing cgroups beda, tinimbang nyedhiakke cache kapisah kanggo saben cgroup.

Adhedhasar asil tes kasebut, cara manajemen memori sing diusulake ngidini nambah efisiensi nggunakake slab nganti 45%, lan uga bakal nyuda konsumsi memori sakabèhé saka kernel OS. Uga, kanthi ngurangi jumlah kaca sing dialokasikan kanggo slab, fragmentasi memori sacara sakabehe dikurangi, sing ora bisa mengaruhi kinerja sistem.

Pengontrol anyar wis diuji ing server Facebook produksi nganti pirang-pirang wulan, lan nganti saiki tes iki bisa diarani sukses: tanpa mundhut kinerja lan ora nambah jumlah kesalahan, nyuda konsumsi memori sing jelas - ing sawetara server nganti 1GB. Nomer iki cukup subyektif, contone, tes sadurunge nuduhake asil sing rada murah:

  • 650-700 MB ing frontend web
  • 750-800 MB ing server karo cache database
  • 700 MB ing server DNS

>>> Kaca pangarang ing GitHub


>>> Asil tes awal

Source: linux.org.ru

Add a comment