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 profile partitions the system CPUs into isolated
12 and housekeeping CPUs. This profile is intended to be used for la‐
13 tency-sensitive 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 cpu-partitioning profile is configured by editing the
34 /etc/tuned/cpu-partitioning-variables.conf file. There are two configu‐
35 ration options:
36
37
38 isolated_cores=<CPU-LIST>
39 List of CPUs to isolate. This option is mandatory. Any CPUs not
40 in this list is automatically considered a housekeeping CPU.
41
42 no_balance_cores=<CPU-LIST>
43 List of CPUs not be considered by the kernel when doing system
44 wide process load-balancing. Usually, this list should be the
45 same as isolated_cores=. This option is optional.
46
47
49 * The system should be rebooted after applying the cpu-partitioning
50 profile for the first time or changing its configuration
51
52 * The cpu-partitioning profile can be used in bare-metal and virtual
53 machines
54
55 * When using the cpu-partitioning profile in bare-metal, it is strongly
56 recommended to "mask" the ksm and ksmtuned services in systemd (if
57 they are installed). This can be done with the following command:
58
59 # systemctl mask ksm ksmtuned
60
61 * The cpu-partitioning profile does not use the kernel's isolcpus= fea‐
62 ture
63
64 * On a NUMA system, it is recommended to have at least one housekeeping
65 CPU per NUMA node
66
67 * The cpu-partitioning profile does not support isolating the L3 cache.
68 This means that a housekeeping CPU can still thrash cache entries
69 pertaining to isolated CPUs. It is recommended to use cache isolation
70 technologies to remedy this problem, such as Intel's Cache Allocation
71 Technology
72
73 * Whether or not the kernel is going to be able to deactivate the tick
74 on isolated CPUs depend on a few factors concerning the running
75 thread behavior. Please, consult the nohz_full documentation in the
76 kernel to learn more
77
78 * The Linux real-time project has put together a document on the best
79 practices for writing real-time applications. Even though the
80 cpu-partitioning profile does not guarantee real-time response time,
81 much of the techniques for writing real-time applications also apply
82 for applications intended to run under the cpu-partitioning profile.
83 Please, refer to this document at https://rt.wiki.kernel.org
84
85
87 /etc/tuned/cpu-partitioning-variables.conf
88 /etc/tuned/tuned-main.conf
89
90
92 tuned(8) tuned-adm(8) tuned-profiles(7) tuned-profiles-realtime(7)
93 tuned-profiles-nfv-host(7) tuned-profiles-nfv-guest(7)
94
96 Jaroslav Škarvada <jskarvad@redhat.com>
97 Luiz Capitulino <lcapitulino@redhat.com>
98 Andrew Theurer <atheurer@redhat.com>
99
100
101
102TuneD 22 Feb 2018TUNED_PROFILES_CPU_PARTITIONING(7)