前言:
有时我们需要执行一个程序,并且这个程序比较重要而且比较紧急,而CPU空闲的资源也比较少,这个时候我们就需要来调整这个程序的进程优先级,来给这个程序分配更多的CPU资源并且优先执行。
Linux下的renice和nice都是调整进程优先级的工具,优先级的值的范围是(-20至19),-20为最高优先级,19为最低优先级,默认程序进程的优先级为0。
1、renice命令
1)功能简介
renice命令可以调整Linux中正在运行的进程的优先级。
[root@vms002 www]# man renice NAME renice - alter priority of running processes #更改正在运行的进程的优先级 SYNOPSIS renice [-n] priority [-gpu] identifier...
2)常用选项
选项 |
含义 |
-h | --help | 显示帮助文本信息并退出 |
-v | --version |
显示版本信息并退出 |
-n | --priority | 指定nice增加值(优先级值) |
-u | --user=name | 将参数解释为用户名或用户ID |
-g | --pgrp=gid | 将参数解释为进程组ID |
-p | --pid= | 将参数解释为进程ID(默认) |
3)实例
① 通过PID修改指令cat优先级为-20
#查看指令cat的优先级值以及PID号
#测试数据 [root@vms002 www]# cat /dev/zero > /dev/null & [1] 80886 #查看 [root@vms002 www]# ps -l|egrep "NI|cat" F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 R 0 80886 36107 99 80 0 - 26978 - pts/2 00:02:52 cat
结果:以上得出指令cat的优先级的值为0(NI为优先级值),PID号为:80886。
#通过PID修改指令cat优先级为-20
[root@vms002 www]# renice -n -20 -p 80886 80886 (进程 ID) 旧优先级为 0,新优先级为 -20
#再次查看指令cat的优先级值,看指令的优先级是否修改成功
[root@vms002 www]# ps -l|egrep "NI|cat" F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 R 0 80886 36107 99 60 -20 - 26978 - pts/2 00:26:37 cat
结果:通过以上显示指令cat的优先级为-20,表示优先级已修改成功。
② 修改用户root的优先级为-10
#查看进程优先级,当前进程都是root用户(当前用户)的,优先级都是为0
[root@vms002 /]# ps -ao "%p%y$x%c%n" PID TTY COMMAND NI 2678 pts/0 su 0 2686 pts/0 bash 0 32190 pts/0 dbus-launch 0 80886 pts/2 cat 0 81658 pts/1 su 0 81659 pts/1 bash 0 81709 pts/1 su 0 81715 pts/1 bash 0 81945 pts/1 ps 0
#修改用户root优先级为-10
[root@vms002 /]# renice -n -10 -u root 0 (用户 ID) 旧优先级为 0,新优先级为 -10
#查看当前用户root的进程优先级
[root@vms002 /]# ps -ao "%p%y%x%c%n" PID TTY TIME COMMAND NI 2678 pts/0 00:00:00 su 0 2686 pts/0 00:00:00 bash -10 32190 pts/0 00:00:00 dbus-launch -10 80886 pts/2 01:01:03 cat -10 81658 pts/1 00:00:00 su -10 81659 pts/1 00:00:00 bash 0 81709 pts/1 00:00:00 su 0 81715 pts/1 00:00:00 bash -10 81956 pts/1 00:00:00 ps -10
结果:修改root用户优先级成功。
2、nice命令
1)功能简介
nice命令可以在启动命令时设置优先级。
[root@vms002 /]# man nice NAME nice - run a program with modified scheduling priority #运行具有修改调度优先级的程序 SYNOPSIS nice [OPTION] [COMMAND [ARG]...]
2)常用选项
选项 | 含义 |
-n | 调整优先级,默认值为10 |
--help | 显示此帮助信息并退出 |
--version | 显示版本信息并退出 |
3)实例
#执行cat /dev/zero > /dev/null & 命令并同时设置优先级为-5
#执行命令 [root@vms002 www]# nice -n -5 cat /dev/zero > /dev/null & [1] 82338 #查看指令cat优先级是否设置成功 [root@vms002 www]# ps -l|egrep "NI|cat" F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 R 0 82338 36107 99 65 -15 - 26978 - pts/2 00:00:14 cat
3、总结
1)renice命令:设置正在运行的进程的优先级,-n设置优先级,-p指定PID设置优先级,-u指定用户设置优先级;
2)nice命令:在启动程序时设置优先级。