Facebook's New Memory Management Method

Ib tug ntawm cov tswv cuab ntawm pab pawg social network txhim kho Facebook, Roman Gushchin, thov nyob rau hauv tus tsim tawm mailing npe ib txheej ntawm Linux kernel thaj ua rau thajtsom rau kev txhim kho kev tswj hwm kev nco los ntawm kev siv lub cim xeeb tshiab tswj kev tswj hwm - slab (slab nco controller).

slab faib yog lub cim xeeb tswj mechanism tsim los faib lub cim xeeb zoo dua thiab tshem tawm cov fragmentation tseem ceeb. Lub hauv paus ntawm qhov algorithm no yog khaws cia faib cov cim xeeb uas muaj cov khoom ntawm ib hom thiab rov siv lub cim xeeb nyob rau lwm lub sijhawm nws raug faib rau cov khoom ntawm tib hom. Cov txheej txheem no tau qhia thawj zaug hauv SunOS los ntawm Jeff Bonwick thiab tam sim no tau siv dav hauv cov kernels ntawm ntau Unix operating systems, suav nrog FreeBSD thiab Linux.

Tus maub los tshiab yog ua raws li kev txav slab accounting los ntawm lub cim xeeb nplooj ntawv mus rau qib khoom kernel, uas ua rau nws muaj peev xwm qhia ib nplooj ntawv slab nyob rau hauv txawv cgroups, es tsis txhob faib ib tug cais cache rau txhua cgroup.

Raws li cov txiaj ntsig kev xeem, nws ua raws li cov txheej txheem tswj kev nco tau tso cai nce cov hauj lwm zoo siv slab mus rau 45%, thiab tseem yuav txo qhov kev nco tag nrho ntawm OS kernel. Tsis tas li ntawd, los ntawm kev txo cov nplooj ntawv faib rau slab, nco fragmentation tag nrho yog txo, uas tsis tuaj yeem tab sis cuam tshuam rau kev ua haujlwm ntawm lub cev.

Tus maub los tshiab tau raug sim ntawm cov khoom siv hauv Facebook tau ntau lub hlis, thiab kom deb li deb qhov kev sim no tuaj yeem hu ua kev ua tiav: tsis muaj kev poob hauv kev ua haujlwm thiab tsis muaj qhov nce ntawm qhov yuam kev, qhov pom tseeb txo qis hauv kev nco tau pom - ntawm qee qhov servers txog li 1 GB. Tus lej no yog cov ntsiab lus tseem ceeb, piv txwv li, cov kev sim ua ntej tau pom cov txiaj ntsig qis dua:

  • 650-700 MB ntawm lub web frontend
  • 750-800 MB ntawm server nrog database cache
  • 700 MB ntawm DNS server

>>> Tus sau nplooj ntawv ntawm GitHub


>>> Cov qhabnias thaum ntxov

Tau qhov twg los: linux.org.ru ua

Ntxiv ib saib