{"id":7165,"date":"2018-01-18T08:49:53","date_gmt":"2018-01-18T00:49:53","guid":{"rendered":"http:\/\/rmohan.com\/?p=7165"},"modified":"2018-01-18T09:11:15","modified_gmt":"2018-01-18T01:11:15","slug":"performance-tuning-in-centos7","status":"publish","type":"post","link":"https:\/\/mohan.sg\/?p=7165","title":{"rendered":"Performance Tuning in centos7"},"content":{"rendered":"<h1 class=\"post-title\">Performance Tuning in centos7<\/h1>\n<h4><strong>Tuned<\/strong><\/h4>\n<p>In RedHat (and thus CentOS) 7.0, a daemon called \u201ctuned\u201d was introduced as a unified system for applying tunings to\u00a0Linux. tuned operates with\u00a0simple, file-based tuning \u201cprofiles\u201d and provides an admin command-line interface named \u201ctuned-adm\u201d for applying, listing and even recommending tuned profiles.<\/p>\n<p>Some operational benefits of tuned:<\/p>\n<ul>\n<li>File-based configuration \u2013 Profile tunings are contained in a simple, consolidated files<\/li>\n<li>Swappable profiles \u2013 Profiles are easily changed back\/forth<\/li>\n<li>Standards compliance \u2013 Using tuned profiles ensures tunings are not overridden or ignored<\/li>\n<\/ul>\n<p><em>Note: If you use configuration management systems like Puppet, Chef, Salt, Ansible, etc., I suggest you configure those systems to deploy\u00a0tunings via tuned profiles instead of applying tunings directly, as tuned\u00a0will likely start to fight this automation, overriding the changes.<\/em><\/p>\n<p>The default available tuned profiles\u00a0<em>(as of \u00a0RedHat 7.2.1511)\u00a0<\/em>are:<\/p>\n<ul>\n<li>balanced<\/li>\n<li>desktop<\/li>\n<li>latency-performance<\/li>\n<li>network-latency<\/li>\n<li>network-throughput<\/li>\n<li>powersave<\/li>\n<li>throughput-performance<\/li>\n<li>virtual-guest<\/li>\n<li>virtual-host<\/li>\n<\/ul>\n<p>The profiles that are generally interesting for database usage are:<\/p>\n<ul>\n<li>latency-performance<br \/>\n<blockquote><p>\u201cA server profile for typical latency performance tuning. This profile disables dynamic tuning mechanisms and transparent hugepages. It uses the performance governer for p-states through cpuspeed, and sets the I\/O scheduler to deadline.\u201d<\/p><\/blockquote>\n<\/li>\n<li>throughput-performance<br \/>\n<blockquote><p>\u201cA server profile for typical throughput performance tuning. It disables tuned and ktune power saving mechanisms, enables sysctl settings that improve the throughput performance of your disk and network I\/O, and switches to the deadline scheduler. CPU governor is set to performance.\u201d<\/p><\/blockquote>\n<\/li>\n<li>network-latency \u2013 Includes \u201clatency-performance,\u201d disables transparent_hugepages, disables NUMA balancing and enables some latency-based network tunings.<\/li>\n<li>network-throughput \u2013 Includes \u201cthroughput-performance\u201d and increases network stack buffer sizes.<\/li>\n<\/ul>\n<p>I find \u201cnetwork-latency\u201d is the closest match to our recommended tunings,\u00a0but some additional changes are still required.<\/p>\n<p>T<\/p>\n<p>Tuning a server according to specific requirements is not an easy task. You need to know a lot of system parameters and how to change them in a intelligent manner.<br \/>\n<strong>Red Hat<\/strong>\u00a0offers a tool called\u00a0<strong>tuned-adm<\/strong>\u00a0that makes these changes easy by using tuning profiles.<\/p>\n<p>The\u00a0<strong>tuned-adm<\/strong>\u00a0command requires the\u00a0<strong>tuned<\/strong>\u00a0package (if not already installed):<\/p>\n<pre># <strong>yum install -y tuned<\/strong><\/pre>\n<h2>Tuning Profiles<\/h2>\n<p>A tuning profile consists in a list of system changes corresponding to a specific requirement.<br \/>\nTo get the list of the available tuning profiles, type:<\/p>\n<pre># <strong>tuned-adm list<\/strong>\r\nAvailable profiles:\r\n- balanced\r\n- desktop\r\n- latency-performance\r\n- network-latency\r\n- network-throughput\r\n- powersave\r\n- sap\r\n- throughput-performance\r\n- virtual-guest\r\n- virtual-host\r\nCurrent active profile: virtual-guest\r\n<\/pre>\n<p>Note: All these tuning profiles are explained in details in the\u00a0<strong>tuned-adm<\/strong>\u00a0man page.<\/p>\n<p>To only get the active profile, type:<\/p>\n<pre># <strong>tuned-adm active<\/strong>\r\nCurrent active profile: virtual-guest\r\n<\/pre>\n<p>To get the recommended tuning profile in your current configuration, type:<\/p>\n<pre># <strong>tuned-adm recommend<\/strong>\r\nvirtual-guest\r\n<\/pre>\n<p>To apply a different tuning profile (here\u00a0<strong>throughput-performance<\/strong>), type:<\/p>\n<pre># <strong>tuned-adm profile throughput-performance<\/strong><\/pre>\n<p>cpu setting<\/p>\n<p><span class=\"line\">tuned-adm profile throughput-performance<\/span><br \/>\n<span class=\"line\">tuned-adm active<\/span><br \/>\n<span class=\"line\">cpupower idle-set <span class=\"_\">-d<\/span> 4<\/span><br \/>\n<span class=\"line\">cpupower idle-set <span class=\"_\">-d<\/span> 3<\/span><br \/>\n<span class=\"line\">cpupower idle-set <span class=\"_\">-d<\/span> 2<\/span><br \/>\n<span class=\"line\">cpupower frequency-set -g performance<\/span><br \/>\n<span class=\"line\"><span class=\"comment\"># for more info \/usr\/lib\/tuned\/throughput-performance\/tuned.conf<\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>sysctl<\/p>\n<pre><span class=\"line\">kernel.numa_balancing=0<\/span>\r\n\r\n<span class=\"line\">net.core.netdev_max_backlog = 300000<\/span>\r\n<span class=\"line\">net.ipv4.tcp_sack = 0<\/span>\r\n<span class=\"line\">net.core.netdev_budget=600<\/span>\r\n<span class=\"line\">net.ipv4.tcp_timestamps=1<\/span>\r\n<span class=\"line\">net.ipv4.tcp_low_latency=1<\/span>\r\n<span class=\"line\">net.ipv4.tcp_rmem=16384 349520 16777216<\/span>\r\n<span class=\"line\">net.ipv4.tcp_wmem=16384 349520 16777216<\/span>\r\n<span class=\"line\">net.ipv4.tcp_mem = 2314209      3085613 4628418<\/span>\r\n<span class=\"line\">net.core.rmem_max=16777216<\/span>\r\n<span class=\"line\">net.core.wmem_max=16777216<\/span>\r\n<span class=\"line\">net.core.somaxconn=2048<\/span>\r\n<span class=\"line\">net.ipv4.tcp_adv_win_scale=1<\/span>\r\n<span class=\"line\">net.ipv4.tcp_window_scaling = 1<\/span>\r\n<span class=\"line\"><span class=\"comment\">#UDP buffer<\/span><\/span>\r\n<span class=\"line\">net.core.rmem_max=16777216<\/span><\/pre>\n<p>Linux Kernel Tuning for Centos 7<\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>tuned<\/strong><\/em>` should already be installed for Cent 7 and default profile is\u00a0balanced.<\/p>\n<p>tuned-adm profiles can be found in this directory<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">ls<\/span><span class=\"hl-code\"> \/<\/span><span class=\"hl-identifier\">usr<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">lib<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">\/\r\n \r\n<\/span><span class=\"hl-identifier\">balanced<\/span><span class=\"hl-code\">\/               <\/span><span class=\"hl-identifier\">latency<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span><span class=\"hl-code\">\/    <\/span><span class=\"hl-identifier\">powersave<\/span><span class=\"hl-code\">\/              <\/span><span class=\"hl-types\">virtual<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">guest<\/span><span class=\"hl-code\">\/\r\n<\/span><span class=\"hl-identifier\">desktop<\/span><span class=\"hl-code\">\/                <\/span><span class=\"hl-identifier\">network<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">latency<\/span><span class=\"hl-code\">\/        <\/span><span class=\"hl-identifier\">recommend<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">conf<\/span>          <span class=\"hl-types\">virtual<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">host<\/span><span class=\"hl-code\">\/\r\n<\/span><span class=\"hl-identifier\">functions<\/span>               <span class=\"hl-identifier\">network<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">throughput<\/span><span class=\"hl-code\">\/     <\/span><span class=\"hl-identifier\">throughput<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span><span class=\"hl-code\">\/<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>To see what the active profile is:<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">adm<\/span> <span class=\"hl-identifier\">active<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>To activated tuned xxx<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">adm<\/span> <span class=\"hl-identifier\">profile<\/span> <span class=\"hl-identifier\">xxx<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<hr \/>\n<p>&nbsp;<\/p>\n<h3 id=\"toc0\">latency-performance<\/h3>\n<ul>\n<li>latency-performance\n<ul>\n<li>Profile for low latency performance tuning.<\/li>\n<li>Disables power saving mechanisms.<\/li>\n<li>CPU governor is set to performance and locked to the low C states (by PM QoS).<\/li>\n<li>CPU energy performance bias to performance.<\/li>\n<li>This profile is the Parent profile to &#8220;network-latency&#8221;.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Activate tuned latency-performance for CentOS 7<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">adm<\/span> <span class=\"hl-identifier\">profile<\/span> <span class=\"hl-identifier\">latency<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<p>For CentOS 7, the latency-performance profile includes the following tweaks<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">cat<\/span><span class=\"hl-code\"> \/<\/span><span class=\"hl-identifier\">usr<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">lib<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">latency<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">conf<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">cpu<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">force_latency<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">1<\/span>\r\n<span class=\"hl-identifier\">governor<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">performance<\/span>\r\n<span class=\"hl-identifier\">energy_perf_bias<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">performance<\/span>\r\n<span class=\"hl-identifier\">min_perf_pct<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">100<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">sysctl<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">kernel<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">sched_min_granularity_ns<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">10000000<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">dirty_ratio<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">10<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">dirty_background_ratio<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">3<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">swappiness<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">10<\/span>\r\n<span class=\"hl-identifier\">kernel<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">sched_migration_cost_ns<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">5000000<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<h3 id=\"toc1\">network-latency<\/h3>\n<ul>\n<li>network-latency\n<ul>\n<li>This is a Child profile of &#8220;latency-performance&#8221;.<\/li>\n<li>That this means is that if you were to activate network-latency profile via tuned, it would automatically enable latency-performance, then make some additional tweaks to improve network latency.<\/li>\n<li>Disables transparent hugepages, and makes some net.core kernel tweaks.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">cat<\/span><span class=\"hl-code\"> \/<\/span><span class=\"hl-identifier\">usr<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">lib<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">network<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">latency<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">conf<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">main<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">include<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">latency<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">vm<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">transparent_hugepages<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">never<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">sysctl<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">net<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">core<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">busy_read<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">50<\/span>\r\n<span class=\"hl-identifier\">net<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">core<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">busy_poll<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">50<\/span>\r\n<span class=\"hl-identifier\">net<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">ipv4<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">tcp_fastopen<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">3<\/span>\r\n<span class=\"hl-identifier\">kernel<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">numa_balancing<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">0<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<h3 id=\"toc2\">throughput-performance<\/h3>\n<ul>\n<li>throughput-performance\n<ul>\n<li>This is the Parent profile to virtual-guest, virtual-host and network-throughput.<\/li>\n<li>This profile is optimized for large, streaming files or any high throughput workloads.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">cat<\/span><span class=\"hl-code\"> \/<\/span><span class=\"hl-identifier\">usr<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">lib<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">throughput<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">conf<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">cpu<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">governor<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">performance<\/span>\r\n<span class=\"hl-identifier\">energy_perf_bias<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">performance<\/span>\r\n<span class=\"hl-identifier\">min_perf_pct<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">100<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">vm<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">transparent_hugepages<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">always<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">disk<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">readahead<\/span><span class=\"hl-code\">=&gt;<\/span><span class=\"hl-number\">4096<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">sysctl<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">kernel<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">sched_min_granularity_ns<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">10000000<\/span>\r\n<span class=\"hl-identifier\">kernel<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">sched_wakeup_granularity_ns<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">15000000<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">dirty_ratio<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">40<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">dirty_background_ratio<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">10<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">swappiness<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-number\">10<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<h3 id=\"toc3\">virtual-guest<\/h3>\n<ul>\n<li>virtual-guest\n<ul>\n<li>Profile optimized for virtual guests based on throughput-performance profile.<\/li>\n<li>It additionally decreases virtual memory swapiness and increases dirty_ratio settings.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">cat<\/span><span class=\"hl-code\"> \/<\/span><span class=\"hl-identifier\">usr<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">lib<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-types\">virtual<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">guest<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">conf<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">main<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">include<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">throughput<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">sysctl<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">dirty_ratio<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">30<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">swappiness<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">30<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<h3 id=\"toc4\">virtual-host<\/h3>\n<ul>\n<li>virtual-host\n<ul>\n<li>Profile optimized for virtual hosts based on throughput-performance profile.<\/li>\n<li>It additionally enables more aggressive write-back of dirty pages.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-identifier\">cat<\/span><span class=\"hl-code\"> \/<\/span><span class=\"hl-identifier\">usr<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">lib<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-types\">virtual<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">host<\/span><span class=\"hl-code\">\/<\/span><span class=\"hl-identifier\">tuned<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">conf<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<div class=\"code\">\n<div class=\"hl-main\">\n<pre><span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">main<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">include<\/span><span class=\"hl-code\">=<\/span><span class=\"hl-identifier\">throughput<\/span><span class=\"hl-code\">-<\/span><span class=\"hl-identifier\">performance<\/span>\r\n \r\n<span class=\"hl-brackets\">[<\/span><span class=\"hl-identifier\">sysctl<\/span><span class=\"hl-brackets\">]<\/span>\r\n<span class=\"hl-identifier\">vm<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">dirty_background_ratio<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">5<\/span>\r\n<span class=\"hl-identifier\">kernel<\/span><span class=\"hl-code\">.<\/span><span class=\"hl-identifier\">sched_migration_cost_ns<\/span><span class=\"hl-code\"> = <\/span><span class=\"hl-number\">5000000<\/span>\r\n<\/pre>\n<\/div>\n<\/div>\n<h1 id=\"toc5\">I\/O scheduler<\/h1>\n<div class=\"code\">\n<pre><code>echo 'deadline' &gt; \/sys\/block\/sda\/queue\/scheduler<\/code><\/pre>\n<\/div>\n<div class=\"code\">\n<pre><code>vim \/etc\/grub2.cfg<\/code><\/pre>\n<\/div>\n<blockquote><p>menuentry &#8216;CAKE 3.0, with Linux 3.10.0-229.1.2.el7.x86_64&#8242;<br \/>\nset root=&#8217;hd0,msdos1&#8217;<br \/>\nlinux16 \/vmlinuz-3.10.0-229.1.2.el7.x86_64 root= \u2026.\u00a0elevator=deadline<br \/>\ninitrd16 \/initramfs-3.10.0-229.1.2.el7.x86_64.img<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Performance Tuning in centos7 Tuned <\/p>\n<p>In RedHat (and thus CentOS) 7.0, a daemon called \u201ctuned\u201d was introduced as a unified system for applying tunings to Linux. tuned operates with simple, file-based tuning \u201cprofiles\u201d and provides an admin command-line interface named \u201ctuned-adm\u201d for applying, listing and even recommending tuned profiles.<\/p>\n<p>Some operational benefits of tuned:<\/p>\n<p> File-based [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[73],"tags":[],"_links":{"self":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7165"}],"collection":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7165"}],"version-history":[{"count":3,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7165\/revisions"}],"predecessor-version":[{"id":7168,"href":"https:\/\/mohan.sg\/index.php?rest_route=\/wp\/v2\/posts\/7165\/revisions\/7168"}],"wp:attachment":[{"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mohan.sg\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}