温馨提示×

centos进程优先级怎么调

小樊
41
2026-10-12 01:05:15
栏目: 智能运维

在 CentOS(及其他 Linux 发行版)中,调整进程优先级主要通过 nice 值 和 renice 命令 来实现。下面给你一个清晰、实用的说明。


一、Linux 进程优先级基础

1. 什么是 nice 值

  • nice 值范围:-20(最高优先级)~ 19(最低优先级)
  • 默认 nice 值:0
  • nice 值 越小,优先级越高

注意:只有 root 才能设置负数(提高优先级)


二、启动进程时设置优先级(nice)

1. 使用 nice 启动新进程

nice -n 10 command

示例:

nice -n 5 tar zcf backup.tar.gz /data

2. root 提高优先级

nice -n -10 command

三、调整已运行进程的优先级(renice)

1. 按 PID 调整

renice -n 10 -p 1234

2. root 提高优先级

renice -n -5 -p 1234

3. 按用户调整所有进程

renice -n 5 -u username

4. 按进程组调整

renice -n 5 -g 1000

四、查看进程优先级

1. 使用 ps

ps -eo pid,ni,pri,comm

2. 使用 top

在 top 中:

  • NI 列:nice 值
  • PR 列:实际优先级

3. 使用 htop(推荐)

yum install htop
htop

可直接 F7 / F8 调整优先级(需 root)


五、systemd 服务设置优先级(CentOS 7+)

方法 1:Nice 参数

[Service]
Nice=10

方法 2:CPUWeight(更现代)

[Service]
CPUWeight=50

修改后:

systemctl daemon-reload
systemctl restart servicename

六、实时优先级(高级)

实时调度(仅 root)

chrt -f 50 command

或调整已有进程:

chrt -f -p 50 1234

⚠ 实时进程优先级过高可能导致系统卡死,谨慎使用。


七、常见使用场景建议

场景 建议
后台备份 nice 10~19
数据库 默认或稍高
实时服务 chrt(谨慎)
不重要的脚本 nice 15

如果你有 具体进程名 / 场景(如 MySQL、Java、备份任务),我可以给你更精确的命令。

0 踩