{"id":5681,"date":"2023-02-16T15:15:51","date_gmt":"2023-02-16T09:45:51","guid":{"rendered":"https:\/\/trysiteprice.com\/blog\/?p=5681"},"modified":"2023-02-16T15:15:51","modified_gmt":"2023-02-16T09:45:51","slug":"linux-tuning-the-vm-memory-subsystem","status":"publish","type":"post","link":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/","title":{"rendered":"Linux Tuning The VM (memory) Subsystem"},"content":{"rendered":"<p>Tuning the VM (Virtual Memory) subsystem in Linux can help improve performance in systems with memory-intensive workloads. Here are some general tips to help tune the VM subsystem:<\/p>\n<ol>\n<li>Adjust the swappiness value: The <code>swappiness<\/code> value determines how aggressively the kernel will swap out memory pages to disk. A value of 0 disables swapping, while a value of 100 will aggressively swap out memory. A good starting point is usually around 10, but you should experiment with different values to find the optimal setting for your workload. You can adjust the <code>swappiness<\/code> value by running the following command:<\/li>\n<\/ol>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo sysctl vm.swappiness=10<br \/>\n<\/code><\/div>\n<\/div>\n<p>This will set the <code>swappiness<\/code> value to 10. To make the change permanent, add the following line to the <code>\/etc\/sysctl.conf<\/code> file:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">vm.swappiness = 10<br \/>\n<\/code><\/div>\n<\/div>\n<ol start=\"2\">\n<li>Adjust the cache pressure: The <code>vfs_cache_pressure<\/code> value determines how aggressively the kernel will reclaim memory used by the page cache. A value of 100 will prefer to keep the cache in memory, while a value of 0 will aggressively free up memory used by the cache. A good starting point is usually around 50. You can adjust the <code>vfs_cache_pressure<\/code> value by running the following command:<\/li>\n<\/ol>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo sysctl vm.vfs_cache_pressure=50<br \/>\n<\/code><\/div>\n<\/div>\n<p>To make the change permanent, add the following line to the <code>\/etc\/sysctl.conf<\/code> file:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">vm.vfs_cache_pressure = 50<br \/>\n<\/code><\/div>\n<\/div>\n<ol start=\"3\">\n<li>Adjust the memory allocation: If you have enough memory available, you may want to increase the memory allocation for the kernel by adding the following line to the <code>\/etc\/sysctl.conf<\/code> file:<\/li>\n<\/ol>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">vm.min_free_kbytes = 262144<br \/>\n<\/code><\/div>\n<\/div>\n<p>This sets the minimum amount of free memory that the kernel should maintain to 256MB.<\/p>\n<ol start=\"4\">\n<li>Adjust the I\/O scheduler: Depending on your workload, you may want to use a different I\/O scheduler. For example, the <code>deadline<\/code> scheduler is good for database workloads, while the <code>cfq<\/code> scheduler is good for general-purpose workloads. You can view the current I\/O scheduler by running the following command:<\/li>\n<\/ol>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-bash\"><span class=\"hljs-built_in\">cat<\/span> \/sys\/block\/&lt;DEVICE&gt;\/queue\/scheduler<br \/>\n<\/code><\/div>\n<\/div>\n<p>Replace <code>&lt;DEVICE&gt;<\/code> with the name of your disk device (e.g. <code>sda<\/code>). To change the I\/O scheduler, you can add the following line to the <code>\/etc\/rc.local<\/code> file:<\/p>\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs language-javascript\">echo &lt;<span class=\"hljs-variable constant_\">SCHEDULER<\/span>&gt; &gt; <span class=\"hljs-regexp\">\/sys\/<\/span>block\/&lt;<span class=\"hljs-variable constant_\">DEVICE<\/span>&gt;<span class=\"hljs-regexp\">\/queue\/<\/span>scheduler<br \/>\n<\/code><\/div>\n<\/div>\n<p>Replace <code>&lt;SCHEDULER&gt;<\/code> with the name of the scheduler you want to use (e.g. <code>deadline<\/code>), and <code>&lt;DEVICE&gt;<\/code> with the name of your disk device.<\/p>\n<p>These are just a few examples of how to tune the VM subsystem in Linux. The optimal settings will depend on your workload and hardware, so you should experiment with different values to find the best performance for your system.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tuning the VM (Virtual Memory) subsystem in Linux can help improve performance in systems with memory-intensive workloads. Here are some general tips to help tune the VM subsystem: Adjust the swappiness value: The swappiness value determines how aggressively the kernel will swap out memory pages to disk. A value of 0 disables swapping, while a &#8230; <a title=\"Linux Tuning The VM (memory) Subsystem\" class=\"read-more\" href=\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\" aria-label=\"Read more about Linux Tuning The VM (memory) Subsystem\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5681","post","type-post","status-publish","format-standard","hentry","category-best-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux Tuning The VM (memory) Subsystem - TrySitePrice<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux Tuning The VM (memory) Subsystem - TrySitePrice\" \/>\n<meta property=\"og:description\" content=\"Tuning the VM (Virtual Memory) subsystem in Linux can help improve performance in systems with memory-intensive workloads. Here are some general tips to help tune the VM subsystem: Adjust the swappiness value: The swappiness value determines how aggressively the kernel will swap out memory pages to disk. A value of 0 disables swapping, while a ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\" \/>\n<meta property=\"og:site_name\" content=\"TrySitePrice\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-16T09:45:51+00:00\" \/>\n<meta name=\"author\" content=\"Rahul Sahu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\"},\"author\":{\"name\":\"Rahul Sahu\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\"},\"headline\":\"Linux Tuning The VM (memory) Subsystem\",\"datePublished\":\"2023-02-16T09:45:51+00:00\",\"dateModified\":\"2023-02-16T09:45:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\"},\"wordCount\":367,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"articleSection\":[\"Best\/Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\",\"name\":\"Linux Tuning The VM (memory) Subsystem - TrySitePrice\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\"},\"datePublished\":\"2023-02-16T09:45:51+00:00\",\"dateModified\":\"2023-02-16T09:45:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trysiteprice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux Tuning The VM (memory) Subsystem\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"name\":\"TrySitePrice\",\"description\":\"Free Website Value Calculator Tool\",\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\",\"name\":\"TrySitePrice\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"contentUrl\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"width\":395,\"height\":268,\"caption\":\"TrySitePrice\"},\"image\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\",\"name\":\"Rahul Sahu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"caption\":\"Rahul Sahu\"},\"sameAs\":[\"https:\/\/trysiteprice.com\/blog\"],\"url\":\"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linux Tuning The VM (memory) Subsystem - TrySitePrice","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/","og_locale":"en_US","og_type":"article","og_title":"Linux Tuning The VM (memory) Subsystem - TrySitePrice","og_description":"Tuning the VM (Virtual Memory) subsystem in Linux can help improve performance in systems with memory-intensive workloads. Here are some general tips to help tune the VM subsystem: Adjust the swappiness value: The swappiness value determines how aggressively the kernel will swap out memory pages to disk. A value of 0 disables swapping, while a ... Read more","og_url":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/","og_site_name":"TrySitePrice","article_published_time":"2023-02-16T09:45:51+00:00","author":"Rahul Sahu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#article","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/"},"author":{"name":"Rahul Sahu","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4"},"headline":"Linux Tuning The VM (memory) Subsystem","datePublished":"2023-02-16T09:45:51+00:00","dateModified":"2023-02-16T09:45:51+00:00","mainEntityOfPage":{"@id":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/"},"wordCount":367,"commentCount":0,"publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"articleSection":["Best\/Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/","url":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/","name":"Linux Tuning The VM (memory) Subsystem - TrySitePrice","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/#website"},"datePublished":"2023-02-16T09:45:51+00:00","dateModified":"2023-02-16T09:45:51+00:00","breadcrumb":{"@id":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trysiteprice.com\/blog\/linux-tuning-the-vm-memory-subsystem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trysiteprice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linux Tuning The VM (memory) Subsystem"}]},{"@type":"WebSite","@id":"https:\/\/trysiteprice.com\/blog\/#website","url":"https:\/\/trysiteprice.com\/blog\/","name":"TrySitePrice","description":"Free Website Value Calculator Tool","publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/trysiteprice.com\/blog\/#organization","name":"TrySitePrice","url":"https:\/\/trysiteprice.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","contentUrl":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","width":395,"height":268,"caption":"TrySitePrice"},"image":{"@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4","name":"Rahul Sahu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","caption":"Rahul Sahu"},"sameAs":["https:\/\/trysiteprice.com\/blog"],"url":"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/"}]}},"_links":{"self":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5681","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/comments?post=5681"}],"version-history":[{"count":1,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5681\/revisions"}],"predecessor-version":[{"id":5684,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5681\/revisions\/5684"}],"wp:attachment":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/media?parent=5681"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/categories?post=5681"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/tags?post=5681"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}