前言:
有时我们需要执行一个程序,并且这个程序比较重要而且比较紧急,而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命令:在启动程序时设置优先级。
标签:10,00,优先级,root,cat,renice,Linux,pts,nice
来源: https://blog.51cto.com/13716812/2405770