📅  最后修改于: 2023-12-03 15:07:50.602000             🧑  作者: Mango
当我们需要在 Ubuntu 终端上停止 CPU 调度程序时,可以通过一些命令来实现。CPU 调度程序是负责将 CPU 时间分配给不同的进程,以便它们在系统中运行的程序。但有些情况下,我们需要暂时停止 CPU 调度程序,以便某个程序拥有整个 CPU 并占用全部资源,例如进行性能测试等。
下面是在 Ubuntu 终端上停止 CPU 调度程序的两种方法。
taskset 命令可以启动一个进程,并显式地指定要使用的 CPU 核心。在这种情况下,我们可以使用 taskset 命令将进程限定到一个 CPU 核心上,并将其他 CPU 核心的调度程序暂停,以达到暂停 CPU 调度程序的目的。
# 首先需要安装 taskset 命令
sudo apt-get install util-linux
# 然后使用 taskset 命令启动进程并指定使用 0 号 CPU 核心
taskset -c 0 command
# 注意:command 为要运行的命令,例如执行 top 命令
taskset -c 0 top
cgroup 是 Linux 内核提供的一个机制,可以将进程分组,并对分组的进程进行资源控制和限制。我们可以通过 cgroup 控制组来暂停 CPU 调度程序。
# 首先需要安装 cgroup 工具
sudo apt-get install cgroup-tools
# 创建一个名为 cpu-limit 的 cgroup
sudo cgcreate -g cpu:/cpu-limit
# 将当前进程加入 cpu-limit cgroup 中
sudo cgclassify -g cpu:/cpu-limit $(pidof command)
# 设置 cpu-limit cgroup 的 CPU 份额为 0,即暂停 CPU 调度程序
sudo cgset -r cpu.shares=0 cpu-limit
# 注意:command 表示要运行的命令,例如执行 top 命令
sudo cgclassify -g cpu:/cpu-limit $(pidof top); sudo cgset -r cpu.shares=0 cpu-limit
以上就是在 Ubuntu 终端上暂停 CPU 调度程序的两种方法,可以根据需求选择其中一种方法来实现。