Skip to main content

Host CPU Reservation

Reserve CPUs on the host for non-virtual machine processes.

Function Introduction

Host CPU reservation function supports reserving some CPUs for other processes to use, and no longer allocating them to virtual machines.

Usage Introduction

Ensure there are no running virtual machines on this host, then select appropriate CPUs as reserved CPUs. When host hostagent initializes, it will create the cloudpods.hostagent.reserved cgroup.

$ climc host-reserve-cpus --help
Usage: climc host-reserve-cpus [--mems MEMS] [--disable-sched-load-balance] [--help] [--cpus CPUS] <ID> ...

# Three parameters
# --cpus corresponds to cpuset.cpus: Limit CPU used by process group.
# --mems corresponds to cpuset.mems, limit memory nodes that can be used.
# --disable-sched-load-balance corresponds to cpuset.sched_load_balance flag, close cpu balance within reserved cpuset.
$ climc host-reserve-cpus --mems 0-1 --disable-sched-load-balance --cpus "1-2,38-39" 3bce9607-2597-469f-8d9b-977345456739

# View on host
$ cat /sys/fs/cgroup/cpuset/cloudpods.hostagent.reserved/cpuset.cpus
1-2,38-39
$ cat /sys/fs/cgroup/cpuset/cloudpods.hostagent.reserved/cpuset.mems
0-1
$ cat /sys/fs/cgroup/cpuset/cloudpods.hostagent.reserved/cpuset.sched_load_balance
0