Linux是一個多用戶、多任務的操作系統(tǒng),系統(tǒng)中通常運行著非常多的進程。哪些進程先運行,哪些進程后運行,就由進程優(yōu)先級來控制
PR 優(yōu)先級,數(shù)值越小優(yōu)先級越高。
NI 優(yōu)先級,數(shù)值越小優(yōu)先級越高。
問題:這兩個數(shù)值是在哪里看到的?
答:
① 調(diào)整==正在運行==進程的優(yōu)先級(renice)
1)使用top按"r"來調(diào)整
如果要改變某個進程的優(yōu)先級,就要利用 "r" 交互命令。
改變NICE--->PR
優(yōu)先級的范圍:
-20——19 數(shù)字越低,優(yōu)先級越高,系統(tǒng)會按照更多的cpu時間給該進程
注意:我們能夠修改的只有 Ni 的優(yōu)先級,而不能修改 Pr 的優(yōu)先級。
步驟1:運行top命令,按r,會提示輸入希望修改優(yōu)先級的進程的PID,這里輸入6451,表示想修改firewalld進程的優(yōu)先級
步驟2:輸入6451后回車,提示希望修改的具體數(shù)字,這個數(shù)字是從-20到19,這里輸入5,數(shù)字越大,優(yōu)先級別越低,所以,這里是降低了firewalld的優(yōu)先級
步驟3:輸入5后,按回車,會發(fā)現(xiàn)6451進程的NI, 從0變成了5,PR從20變成了25
2)命令行使用renice調(diào)整
命令:renice
語法:renice [NI優(yōu)先級設置的數(shù)字] 想調(diào)整的進程ID
[root@localhost ~]# renice -5 6451
含義:將6451進程的NI優(yōu)先級設置為-5,實際效果是提高了6451進程的優(yōu)先級
注意:這里的-5代表設置成-5,不是所謂加減的關系,如果當前NI的值是10,當設置成-5后,NI的值會變?yōu)?5.
② 程序啟動時指定優(yōu)先級(nice),只能調(diào)整不在運行的程序。
步驟1:將程序停止
步驟2:啟動并制定優(yōu)先級
步驟3:確認優(yōu)先級(查看優(yōu)先級)
命令:nice
語法:nice [NI優(yōu)先級設置的數(shù)字] 想調(diào)整的進程名
啟動進程時,通常會繼承父進程的 nice級別,默認為0
#ps -ef |grep crond
含義:查看crond的進程信息
目的:找出crond的PID,用于結束進程
#kill -9 crond的進程ID
含義:結束crond的進程
目的:nice只能修改不在運行的進程的優(yōu)先級
#ps -ef |grep crond
含義:查看crond的進程信息
目的:確認crond進程是不是已經(jīng)停止了
#nice -n -5 crond
含義:啟動crond進程,將NI設置成-5
#ps -ef |grep crond
含義:查看crond的進程信息
目的:找出crond的PID,用于查看此進程的優(yōu)先級
#top -p crond的進程ID