Facebook dia namoaka patch izay manatsara ny Slac memory memory amin'ny Linux

Roman Gushchin (injenieran'ny rindrambaiko Facebook) lisitra ao amin'ny lisitry ny fampandrosoana ny kernel Linux, andiana fipetahana amin'ny rindranasa fanaovana sary an-tsarintany fitadidiana slab (mpanaraha-maso fahatsiarovana).

Mahagaga ny mpanara-maso vaovao amin'ny alàlan'ny famindrana ny kaontim-pifandraisana avy amin'ny haavon'ny pejy fahatsiarovana mankany amin'ny haavon'ny zavatra kernel, ahafahana mizara pejy takelaka manerana ny vondrona c, fa tsy mizara cache takelaka tsirairay ho an'ny vondrona c.

Hitan'i Roman ilay antsoiny hoe "lesoka tena lehibe" amin'ny mpanara-maso fitadidiana takela-by izay mitarika ho amin'ny fampiasana ambany loatra amin'izao fotoana izao amin'ny cgroups.

"Ny tena antony mahatonga ny endriny efa lasa mankany amin'ny fampiasana vato fisaka ambany dia tsotra: ny takelaka fisaka dia fampiasan'ny dobo fahatsiarovana ihany.

Raha misy ampahany vitsivitsy monja amin'ny habe sasany namboarin'ny cgroup, na raha misy zavatra mavitrika tavela aorian'ny fanesorana ny cgroup, na ny cgroup dia misy fampiharana misy kofehy tokana izay zara raha manome zavatra kernel, fa isaky ny amin'ny CPU vaovao: amin'ireo tranga rehetra ireo dia ambany dia ambany ny fampiasana takelaka.

Raha tsy mandeha ny kaonty kmem, ny kernel dia afaka mampiasa toerana malalaka amin'ny pejy slab ho an'ny fizarana hafa. «

Ny fehezan-dalàna momba ny fitadidiana Slab nataon'i Romano Gushchin tamin'ny taon-dasa dia nampanantena tokoa toy ny mampitombo fahombiazana ny fampiasana ny takelaka, mampihena ny haben'ny fahatsiarovana ampiasaina ho an'ny takelaka amin'ny 30-45% ary mampihena be ny fanjifana fitadidiana kernel.

Koa, ny patch namboarina dia nanondro fa Facebook dia efa mampiasa ny kaody amin'ny famokarana amin'ny mpizara azy ary mitahiry ~ 650-700MB + ho an'ny mpizara tranonkala eo aloha, caching database ary seriver DNS, ankoatry ny loka hafa.

Amin'ny alàlan'ny fampihenana ny isan'ny takelaka tsy finday, misy fiatraikany tsara hita ihany koa eo amin'ny sehatry ny fihenan'ny sombin-tsarimihetsika. Ny mpanara-maso fahatsiarovana vaovao dia manamora ny kaody ho an'ny takelaka fisaka ary tsy mila algorithman sarotra ho an'ny famoronana mavitrika sy ny famafana ny cache cache isaky ny vondrona c.

Ny cgroups rehetra ho an'ny fahatsiarovana amin'ny fampiharana vaovao dia mampiasa cache cache slab mahazatra, ary ny androm-piainan'ny cache cache dia tsy voafatotra amin'ny andram-pahataperana fahatsiarovana napetraka tamin'ny cgroup.

Ny kaonty momba ny loharanom-pahalalana marimarina kokoa napetraka ao amin'ny mpanara-maso takelaka vaovao dia tokony hampiditra ny CPU bebe kokoa, fa amin'ny fampiharana ny fahasamihafana dia nivadika ho tsinontsinoavina.

Indrindra indrindra ilay mpamily takelaka vaovao dia nampiasaina amam-bolana maro tao amin'ny mpizara Facebook amin'ny fiasa izay mitantana karazana enta-mavesatra samihafa, ary hatreto dia mbola tsy nisy famerenam-bidy lehibe hita.

Ny patch dia misy ampahany semi-mahaleo tena, izay afaka mahita ihany koa ny fampiasana azy ireo ivelan'ny mpanara-maso ny slab:

  • Ny Subpage Load API, izay azo ampiasaina amin'ny ho avy mba hanisana zavatra hafa tsy mitovy habe amin'ny pejy, ohatra ny fizarana percpu
  • Ny mem_cgroup_ptr API, izay isaina memcg ny tondro, dia azo ampiasaina indray amin'ny famerenany soratra amin'ny fomba mahomby ny zavatra hafa, ohatra ny pagecache.

Amin'izany fotoana izany, misy fihenam-bidy lehibe amin'ny fihinanana fahatsiarovana- Amin'ny mpampiantrano sasany dia azo atao ny mitahiry fahatsiarovana hatramin'ny 1 GB, fa ity tondro ity miankina betsaka amin'ny toetran'ny entana, ny haben'ny RAM, ny habetsaky ny CPU ary ny toetran'ny fiasana amin'ny fahatsiarovana.

Raha tokony mamorona andiany kmem_cache misimisy ho an'ny vondrona fitadidiana tsirairay, dia seta manerantany roa no ampiasaina: ny root set ho an'ny kaonty tsy voatanisa sy ny root group cgroup ary ny set faharoa ho an'ny andraikitra hafa rehetra. Io dia mamela ny fitantanana tsotra ny kmem_cache tsirairay.

Farany, raha liana hahafantatra ny setrin'ny patch vaovao 19 ianao dia hita ao amin'ny lisitra mailin'ny kernel.


Ny atin'ny lahatsoratra dia manaraka ny fitsipiky ny etika fanonta. Raha hitatitra tsindry diso eto.

Aoka ho voalohany ny fanehoan-kevitra

Avelao ny hevitrao

Ny adiresy email dia tsy ho namoaka. Mitaky saha dia marika amin'ny *

*

*

  1. Tompon'andraikitra amin'ny data: Miguel Ángel Gatón
  2. Tanjon'ny angona: Control SPAM, fitantanana hevitra.
  3. Legitimation: Ny fanekenao
  4. Fifandraisana momba ny angona: Tsy hampitaina amin'ny antoko fahatelo ny angona raha tsy amin'ny adidy ara-dalàna.
  5. Fitehirizana angona: Database nomen'ny Occentus Networks (EU)
  6. Zo: Amin'ny fotoana rehetra, azonao atao ny mametra, mamerina ary mamafa ny mombamomba anao.