启用steal task功能
目的
启用steal task功能以进行系统调度的优化。
当一个进程正在执行,而另一个进程需要执行但没有CPU时间片可用时,steal task功能会从正在运行的进程中抢占一部分CPU时间片,分配给需要执行的进程。
方法
- 确认当前内核是否支持steal task功能。
cat /sys/kernel/debug/sched_features |tr " " "\n" |grep STEAL
如果输出中包含STEAL或NO_STEAL(NO_STEAL意味着STEAL功能存在但可能被禁用),则表明当前内核支持steal task功能。
- 配置steal task功能。
- 打开文件。
vim /etc/default/grub
- 按“i”进入编辑模式,修改启动参数。在文件中找到GRUB_CMDLINE_LINUX这一行,添加如下内容:
sched_steal_node_limit=8
其中,8为NUMA的个数,请根据实际情况修改。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 生成新的GRUB配置文件。
grub2-mkconfig -o /boot/efi/EFI/bclinux/grub.cfg
- 重启操作系统,使GRUB配置的更改生效。
reboot
- 通过写入“/sys/kernel/debug/sched_features”文件来启用steal task功能。
echo STEAL > /sys/kernel/debug/sched_features
如果需要禁用steal task功能,请使用如下命令。
echo NO_STEAL > /sys/kernel/debug/sched_features
父主题: 操作系统调优