{"id":79056,"date":"2020-04-24T01:42:07","date_gmt":"2020-04-23T23:42:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux"},"modified":"2020-04-24T01:42:07","modified_gmt":"2020-04-23T23:42:07","slug":"facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux","title":{"rendered":"Facebook proposed a new slab memory management mechanism for the Linux kernel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Roman Gushchin (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/rgushchin\">Roman Gushchin<\/a><\/noindex>) from Facebook <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2020\/4\/22\/1721\">announced<\/a><\/noindex> in the mailing list for Linux kernel developers a set of patches implementing a new memory distribution controller <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Slab\">slab<\/a><\/noindex> (slab memory controller). The new controller is noteworthy for transferring slab accounting from the page level to the kernel object level, allowing for shared slab pages across different cgroups, instead of allocating separate slab caches for each cgroup. <\/p>\n<p>The proposed approach increases slab usage efficiency, reduces the size of memory allocated for slab by 30-45%, and significantly decreases the overall memory consumption by the kernel. By reducing the number of non-movable slabs, there is also a positive effect on memory fragmentation. The new memory controller greatly simplifies the slab accounting code and does not require complex algorithms for dynamically creating and deleting slab caches for each cgroup. All memory cgroups in the new implementation use a common set of slab caches, and the lifespan of slab caches is no longer tied to the lifespan of those established through the cgroup <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/cgroup-v1\/memory.txt\">limits<\/a><\/noindex> on memory usage.<\/p>\n<p>The new slab controller has theoretically more accurate resource accounting, which should increase CPU load, but in practice, the differences have proven to be insignificant. In particular, the new slab controller has been in use for several months on Facebook's production servers handling various types of workloads, and no notable regressions have been detected so far. At the same time, there is a significant reduction in memory consumption \u2014 on some hosts, savings of up to 1GB of memory have been achieved, but this figure heavily depends on the type of workload, total RAM size, number of CPUs, and memory management characteristics. Previous tests conducted showed... <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/798605\/\">have shown<\/a><\/noindex> a reduction in memory usage of 650-700 MB (42% of slab memory) on the web frontend, 750-800 MB (35%) on the database cache server, and 700 MB (36%) on the DNS server.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52790\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u043e\u043c\u0430\u043d \u0413\u0443\u0449\u0438\u043d (Roman Gushchin) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044f\u0434\u0440\u0430 Linux \u043d\u0430\u0431\u043e\u0440 \u043f\u0430\u0442\u0447\u0435\u0439 \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 slab (slab memory controller). \u041d\u043e\u0432\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u0435\u043d \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u043e\u043c \u0443\u0447\u0451\u0442\u0430 slab \u0441 \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u044f\u0434\u0440\u0430, \u0447\u0442\u043e \u0434\u0430\u0451\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c slab-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 cgroup, \u0432\u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u044d\u0448\u0435\u0439 slab \u0434\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-79056","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u043e\u043c\u0430\u043d \u0413\u0443\u0449\u0438\u043d (Roman Gushchin) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Facebook \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e slab \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u043e\u043c\u0430\u043d \u0413\u0443\u0449\u0438\u043d (Roman Gushchin) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-23T23:42:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-23T23:42:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Facebook proposed a new slab memory management mechanism for the Linux kernel | ProHoster","description":"Roman Gushchin (Roman Gushchin) from Facebook","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Facebook \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u043d\u043e\u0432\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e slab \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux | ProHoster","og:description":"\u0420\u043e\u043c\u0430\u043d \u0413\u0443\u0449\u0438\u043d (Roman Gushchin) \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Facebook","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/facebook-predlozhil-novyj-mehanizm-upravleniya-pamyatyu-slab-dlya-yadra-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-23T23:42:07+00:00","article:modified_time":"2020-04-23T23:42:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"79056","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:45:34","updated":"2022-10-01 01:43:38","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/79056","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=79056"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/79056\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=79056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=79056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=79056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}