Facebook, Linux nüvəsi üçün yeni slab yaddaş idarəetmə mexanizmini təklif etdi

Roman Quşçin (Roman Quşçin) Facebook-dan nəşr Linux nüvəsi tərtibatçılarının poçt siyahısında yeni yaddaş ayırma nəzarətçisinin tətbiqi ilə bir sıra yamaqlar plitələr (slab yaddaş nəzarətçisi). Yeni nəzarətçi plitələrin uçotunu yaddaş səhifəsi səviyyəsindən nüvə obyekti səviyyəsinə köçürməsi ilə diqqəti çəkir ki, bu da hər bir qrup üçün ayrıca plitə keşləri ayırmaq əvəzinə, müxtəlif qruplarda plitə səhifələrini paylaşmağa imkan verir.

Təklif olunan yanaşma plitələrdən istifadənin səmərəliliyini artırmağa, plitə üçün istifadə olunan yaddaşın ölçüsünü 30-45% azaltmağa və nüvənin ümumi yaddaş istehlakını əhəmiyyətli dərəcədə azaltmağa imkan verir. Qeyri-hərəkətli plitələrin sayını azaltmaqla yaddaşın parçalanmasının azalmasına da müsbət təsir göstərir. Yeni yaddaş nəzarətçisi plitələrin uçotu üçün kodu əhəmiyyətli dərəcədə sadələşdirir və hər bir qrup üçün plitə keşlərinin dinamik yaradılması və silinməsi üçün mürəkkəb alqoritmlərin istifadəsini tələb etmir. Yeni tətbiqetmədəki bütün yaddaş qrupları ümumi plitə keşlərindən istifadə edir və plitə keşlərinin ömrü artıq cgroup vasitəsilə quraşdırılanların ömrü ilə bağlı deyil. məhdudiyyətlər yaddaş istifadəsi haqqında.

Yeni plitə nəzarətçisində həyata keçirilən daha dəqiq resurs uçotu nəzəri olaraq CPU-nu daha çox yükləməli, lakin praktikada fərqlər əhəmiyyətsiz olduğu ortaya çıxdı. Xüsusilə, yeni plitə nəzarətçisi bir neçə aydır müxtəlif növ iş yükünü idarə edən istehsal Facebook serverlərində istifadə olunur və hələ də nəzərəçarpacaq reqressiyalar müəyyən edilməyib. Eyni zamanda, yaddaş istehlakında əhəmiyyətli azalma var - bəzi hostlarda 1 GB-a qədər yaddaş saxlamaq mümkün idi, lakin bu göstərici yükün xarakterindən, RAM-ın ümumi ölçüsündən, CPU sayından çox asılıdır. və yaddaşla işləmək xüsusiyyətləri. Əvvəlki testlər göstərdi yaddaş istehlakının veb front-endində 650-700 MB (slab yaddaşının 42%), DBMS keşi olan serverdə 750-800 MB (35%) və DNS serverində 700 MB (36%) azaldılması.

Mənbə: opennet.ru

Добавить комментарий