前言:
bash
有時咱們須要執行一個程序,而且這個程序比較重要並且比較緊急,而CPU空閒的資源也比較少,這個時候咱們就須要來調整這個程序的進程優先級,來給這個程序分配更多的CPU資源而且優先執行。ide
Linux下的renice和nice都是調整進程優先級的工具,優先級的值的範圍是(-20至19),-20爲最高優先級,19爲最低優先級,默認程序進程的優先級爲0。
工具
一、renice命令測試
1)功能簡介spa
renice命令能夠調整Linux中正在運行的進程的優先級。
orm
[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)實例
io
① 經過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用戶優先級成功。
二、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
三、總結
1)renice命令:設置正在運行的進程的優先級,-n設置優先級,-p指定PID設置優先級,-u指定用戶設置優先級;
2)nice命令:在啓動程序時設置優先級。