宿主机 CPU 预留

预留宿主机上的 CPU 给非虚拟机进程使用

功能介绍

宿主机 CPU 预留功能支持将部分 CPU 预留给其他进程使用,不再分配给虚拟机使用。

使用介绍

确保这台宿主机上没有运行中的虚机,然后选择合适的 CPU 作为预留 CPU。宿主机 hostagent 初始化时会创建 cloudpods.hostagent.reserved 的 cgroup。

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

# 三个参数
# --cpus 对应的是 cpuset.cpus: 限制进程组使用的 CPU。
# --mems 对应的是 cpuset.mems, 限制可以使用的memory节点。
# --disable-sched-load-balance 对应 cpuset.sched_load_balance flag,关闭预留 cpuset 内的 cpu balance。
$ climc host-reserve-cpus  --mems 0-1 --disable-sched-load-balance --cpus "1-2,38-39" 3bce9607-2597-469f-8d9b-977345456739

# 宿主机上查看
$ 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