1TUNED_PROFILES_CPU_PARTIMTiIsOcNeIlNlGa(n7e)ous InformatTiUoNnEDM_aPnRuOaFlILES_CPU_PARTITIONING(7)
2
3
4
6 tuned-profiles-cpu-partitioning - Partition CPUs into isolated and
7 housekeeping.
8
9
11 The cpu-partitioning* profiles partition the system CPUs into isolated
12 and housekeeping CPUs. These profiles are intended for latency-sensi‐
13 tive workloads.
14
15 An isolated CPU incurs reduced jitter and reduced interruptions by the
16 kernel. This is achieved by clearing the CPU from user-space processes,
17 movable kernel threads, interruption handlers, kernel timers, etc. The
18 only fixed source of interruptions is the 1Hz tick maintained by the
19 kernel to keep CPU usage statistics. Otherwise, the incurred jitter and
20 interruptions, if any, depend on the kernel services used by the thread
21 running on the isolated CPU. Threads that run a busy loop without doing
22 system calls, such as user-space drivers that access the hardware di‐
23 rectly, are only expected to be interrupted once a second by the 1Hz
24 tick.
25
26 A housekeeping CPU is the opposite of an isolated CPU. Housekeeping
27 CPUs run all daemons, shell processes, kernel threads, interruption
28 handlers and work that can be dispatched from isolated CPUs such as
29 disk I/O, RCU work, timers, etc.
30
31
33 The following profiles are provided:
34
35
36 cpu-partitioning
37 Profile partitioning the system CPUs into isolated and house‐
38 keeping CPUs.
39
40
41 cpu-partitioning-powersave
42 Profile similar to the cpu-partitioning profile, but with more
43 flexibility on the C-states configuration.
44
45
47 The cpu-partitioning profile is configured by editing the
48 /etc/tuned/cpu-partitioning-variables.conf file. There are two configu‐
49 ration options:
50
51
52 isolated_cores=<CPU-LIST>
53 List of CPUs to isolate. This option is mandatory. Any CPUs not
54 in this list is automatically considered a housekeeping CPU.
55
56 no_balance_cores=<CPU-LIST>
57 List of CPUs not be considered by the kernel when doing system
58 wide process load-balancing. Usually, this list should be the
59 same as isolated_cores=. This option is optional.
60
61
62 The cpu-partitioning-powersave profile is configured by editing the
63 /etc/tuned/cpu-partitioning-powersave-variables.conf file. It supports
64 the same options as the cpu-partitioning profile and one additional op‐
65 tion:
66
67
68 max_power_state=<MAX_CSTATE>
69 Maximum c-state the cores are allowed to enter. Can be expressed
70 as it's name (C1E) or minimum wake-up latency, in micro-seconds.
71 This parameter is provided as-is to `force_latency`. Default is
72 set to "cstate.name:C1|10" to behave as cpu-partitioning pro‐
73 file.
74
75
77 * The system should be rebooted after applying the cpu-partitioning*
78 profiles for the first time or changing its configuration
79
80 * The cpu-partitioning* profiles can be used in bare-metal and virtual
81 machines
82
83 * When using the cpu-partitioning* profiles in bare-metal, it is
84 strongly recommended to "mask" the ksm and ksmtuned services in sys‐
85 temd (if they are installed). This can be done with the following
86 command:
87
88 # systemctl mask ksm ksmtuned
89
90 * The cpu-partitioning* profiles do not use the kernel's isolcpus= fea‐
91 ture
92
93 * On a NUMA system, it is recommended to have at least one housekeeping
94 CPU per NUMA node
95
96 * The cpu-partitioning* profiles do not support isolating the L3 cache.
97 This means that a housekeeping CPU can still thrash cache entries
98 pertaining to isolated CPUs. It is recommended to use cache isolation
99 technologies to remedy this problem, such as Intel's Cache Allocation
100 Technology
101
102 * Whether or not the kernel is going to be able to deactivate the tick
103 on isolated CPUs depend on a few factors concerning the running
104 thread behavior. Please, consult the nohz_full documentation in the
105 kernel to learn more
106
107 * The Linux real-time project has put together a document on the best
108 practices for writing real-time applications. Even though the
109 cpu-partitioning* profiles do not guarantee real-time response time,
110 much of the techniques for writing real-time applications also apply
111 for applications intended to run under the cpu-partitioning* pro‐
112 files. Please, refer to this document at https://rt.wiki.kernel.org
113
114
116 /etc/tuned/cpu-partitioning-variables.conf
117 /etc/tuned/cpu-partitioning-powersave-variables.conf
118 /etc/tuned/tuned-main.conf
119
120
122 tuned(8) tuned-adm(8) tuned-profiles(7) tuned-profiles-atomic(7)
123 tuned-profiles-sap(7) tuned-profiles-sap-hana(7) tuned-pro‐
124 files-mssql(7) tuned-profiles-oracle(7) tuned-profiles-realtime(7)
125 tuned-profiles-nfv-host(7) tuned-profiles-nfv-guest(7) tuned-pro‐
126 files-compat(7) tuned-profiles-postgresql(7) tuned-profiles-open‐
127 shift(7) tuned-profiles-spectrumscale-ece(7)
128
130 Jaroslav Škarvada <jskarvad@redhat.com>
131 Luiz Capitulino <lcapitulino@redhat.com>
132 Andrew Theurer <atheurer@redhat.com>
133
134
135
136TuneD 22 Feb 2018TUNED_PROFILES_CPU_PARTITIONING(7)