通过CentOS的cpustat
优化系统调度需结合监控分析与系统调优,核心步骤如下:
sudo yum install sysstat # 包含cpustat
cpustat -u 1 # 每秒刷新,显示用户态、系统态、空闲等指标
%usr
(用户态占用)、%sys
(内核态占用)、%iowait
(I/O等待),判断瓶颈类型。cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
taskset -c 0,1 <PID> # 将进程绑定到CPU 0和1,减少上下文切换
nice -n -10 <command> # 提高进程优先级(数值越小优先级越高)
renice -n -10 -p <PID> # 修改已运行进程的优先级
chrt -f 99 <command> # 实时调度策略(FIFO),仅适用于关键任务
sysctl vm.swappiness=10 # 降低交换倾向,减少I/O开销
echo "vm.swappiness=10" >> /etc/sysctl.conf # 永久生效
echo deadline > /sys/block/sda/queue/scheduler # 适用于机械硬盘,减少延迟
cpustat
输出,便于趋势分析。top
、vmstat
确认优化效果,例如%iowait
下降或CPU利用率更均衡。注意:优化前需在测试环境验证,避免影响生产系统稳定性。实时性要求高的场景建议优先使用实时调度策略,计算密集型任务可通过绑定CPU核心和调整优先级提升效率。