linuxrenice命令參數(shù)及用法詳解
renice指令可重新調(diào)整程序執(zhí)行的優(yōu)先權(quán)等級(jí)。預(yù)設(shè)是以程序識(shí)別碼指定程序調(diào)整其優(yōu)先權(quán),您亦可以指定程序群組或用戶名稱調(diào)整優(yōu)先權(quán)等級(jí),并修改所有隸屬于該程序群組或用戶的程序的優(yōu)先權(quán)。接下來(lái)是小編為大家收集的linux renice命令參數(shù)及用法詳解,希望能幫到大家。
linux renice命令參數(shù)及用法詳解
功能說(shuō)明:調(diào)整程序優(yōu)先級(jí)。
語(yǔ) 法:renice [優(yōu)先等級(jí)][-g <程序群組名稱>...][-p <程序識(shí)別碼>...][-u <用戶名稱>...]
補(bǔ)充說(shuō)明:renice指令可重新調(diào)整程序執(zhí)行的優(yōu)先權(quán)等級(jí)。預(yù)設(shè)是以程序識(shí)別碼指定程序調(diào)整其優(yōu)先權(quán),您亦可以指定程序群組或用戶名稱調(diào)整優(yōu)先權(quán)等級(jí),并修改所有隸屬于該程序群組或用戶的程序的優(yōu)先權(quán)。等級(jí)范圍從-20--19,只有系統(tǒng)管理者可以改變其他用戶程序的優(yōu)先權(quán),也僅有系統(tǒng)管理者可以設(shè)置負(fù)數(shù)等級(jí)。
參 數(shù):
-g <程序群組名稱> 使用程序群組名稱,修改所有隸屬于該程序群組的程序的優(yōu)先權(quán)。
-p <程序識(shí)別碼> 改變?cè)摮绦虻膬?yōu)先權(quán)等級(jí),此參數(shù)為預(yù)設(shè)值。
-u <用戶名稱> 指定用戶名稱,修改所有隸屬于該用戶的程序的優(yōu)先權(quán)。
linux安全網(wǎng) www.jb51.net 收集整理
一開始執(zhí)行程式就立即給予一個(gè)特定的 nice 值:用 nice 命令;
調(diào)整某個(gè)已經(jīng)存在的 PID 的 nice 值:用 renice 命令。
推薦閱讀一:linux的進(jìn)程cpu資源分配命令nice,renice,taskset
進(jìn)程cpu資源分配就是指進(jìn)程的優(yōu)先權(quán)(priority)。優(yōu)先權(quán)高的進(jìn)程有優(yōu)先執(zhí)行權(quán)利。配置進(jìn)程優(yōu)先權(quán)對(duì)多任務(wù)環(huán)境的linux很有用,可以改善系統(tǒng)性能。還可以把進(jìn)程運(yùn)行到指定的CPU上,這樣一來(lái),把不重要的進(jìn)程安排到某個(gè)CPU,可以大大改善系統(tǒng)整體性能。
一、先看系統(tǒng)進(jìn)程:
PR 就是 Priority 的簡(jiǎn)寫,而 NI 是 nice 的簡(jiǎn)寫。這兩個(gè)值決定了PR的值,PR越小,進(jìn)程優(yōu)先權(quán)就越高,就越“優(yōu)先執(zhí)行”。換算公式為:PR(new) = PR(old) + NI
---------------------------------------------------------------------------
二、修改進(jìn)程優(yōu)先級(jí)的命令主要有兩個(gè):nice,renice
1、一開始執(zhí)行程序就指定nice值:nice
Java代碼
nice -n -5 /usr/local/mysql/bin/mysqld_safe &
linux nice 命令詳解
功能說(shuō)明:設(shè)置優(yōu)先權(quán)。
語(yǔ) 法:nice [-n <優(yōu)先等級(jí)>][--help][--version][執(zhí)行指令]
補(bǔ)充說(shuō)明:nice指令可以改變程序執(zhí)行的優(yōu)先權(quán)等級(jí)。
參 數(shù):-n<優(yōu)先等級(jí)>或-<優(yōu)先等級(jí)>或--adjustment=<優(yōu)先等級(jí)> 設(shè)置欲執(zhí)行的指令的優(yōu)先權(quán)等級(jí)。等級(jí)的范圍從-20-19,其中-20最高,19最低,只有系統(tǒng)管理者可以設(shè)置負(fù)數(shù)的等級(jí)。
--help 在線幫助。
--version 顯示版本信息。
---------------------------------------------------------------------------
2.1、調(diào)整已存在進(jìn)程的nice:renice
Java代碼
renice -5 -p 5200
#PID為5200的進(jìn)程nice設(shè)為-5
linux renice 命令詳解
功能說(shuō)明:調(diào)整優(yōu)先權(quán)。
語(yǔ) 法:renice [優(yōu)先等級(jí)][-g <程序群組名稱>...][-p <程序識(shí)別碼>...][-u <用戶名稱>...]
補(bǔ)充說(shuō)明:renice指令可重新調(diào)整程序執(zhí)行的優(yōu)先權(quán)等級(jí)。預(yù)設(shè)是以程序識(shí)別碼指定程序調(diào)整其優(yōu)先權(quán),您亦可以指定程序群組或用戶名稱調(diào)整優(yōu)先權(quán)等級(jí),并修改所有隸屬于該程序群組或用戶的程序的優(yōu)先權(quán)。等級(jí)范圍從-20--19,只有系統(tǒng)管理者可以改變其他用戶程序的優(yōu)先權(quán),也僅有系統(tǒng)管理者可以設(shè)置負(fù)數(shù)等級(jí)。
參 數(shù):
-g <程序群組名稱> 使用程序群組名稱,修改所有隸屬于該程序群組的程序的優(yōu)先權(quán)。
-p <程序識(shí)別碼> 改變?cè)摮绦虻膬?yōu)先權(quán)等級(jí),此參數(shù)為預(yù)設(shè)值。
-u <用戶名稱> 指定用戶名稱,修改所有隸屬于該用戶的程序的優(yōu)先權(quán)。
2.2、也可以用top命令更改已存在進(jìn)程的nice:
Java代碼
top
#進(jìn)入top后按"r"-->輸入進(jìn)程PID-->輸入nice值
三、把進(jìn)程運(yùn)行到指定CPU(即修改進(jìn)程的"CPU親和性"):taskset
兩個(gè)名詞
SMP (Symmetrical Multi-Processing):指在一個(gè)計(jì)算機(jī)上匯集了一組處理器(多CPU),各CPU之間共享內(nèi)存子系統(tǒng)以及總線結(jié)構(gòu)。
CPU affinity:中文喚作“CPU親和性”,是指在CMP架構(gòu)下,能夠?qū)⒁粋€(gè)或多個(gè)進(jìn)程綁定到一個(gè)或多個(gè)處理器上運(yùn)行。
請(qǐng)先確定你的cpu核心及命名(例如四個(gè)核心:0,1,2,3):cat /proc/cpuinfo
Java代碼
taskset -cp 1 5200
#把PID為5200的進(jìn)程運(yùn)行到CPU#1上
#也可以在啟動(dòng)進(jìn)程時(shí)指定:
taskset -c 1 /etc/init.d/mysql start
推薦閱讀二 關(guān)于程序的執(zhí)行順序nice renice
關(guān)于程序的執(zhí)行順序:
還記得我們提過(guò)的多人多工環(huán)境吧?因?yàn)槟壳暗?x86 平臺(tái)的 CPU 可以做到多工的行為, 所以啰,我們的 Linux 可以在 x86 上面‘同時(shí)進(jìn)行多個(gè)工作’的呢!那么多個(gè)工作是如何進(jìn)行的呢? 其實(shí)每個(gè)工作都會(huì)進(jìn)入到 CPU 的工作排程當(dāng)中,并等待 CPU 來(lái)執(zhí)行, 而 CPU 會(huì)根據(jù)每個(gè)工作的優(yōu)先執(zhí)行序 (priority) 來(lái)判斷誰(shuí)比較重要, 所以某個(gè)工作就可能會(huì)比較優(yōu)先被執(zhí)行完畢啦!
也就是說(shuō), Linux 系統(tǒng)中,每個(gè) process 都會(huì)擁有一個(gè)所謂的‘優(yōu)先執(zhí)行序 (priority)’的屬性, 利用該屬性來(lái)讓 CPU 判斷那個(gè)工作是比較重要的,那個(gè)工作在一群工作當(dāng)中就會(huì)優(yōu)先被執(zhí)行, 也讓系統(tǒng)資源可以分配的更恰當(dāng)。我們可以使用 ps 還觀察優(yōu)先執(zhí)行序:
[root@linux ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 0 18851 18827 0 77 0 - 1302 wait pts/0 00:00:00 su
4 S 0 18852 18851 0 76 0 - 1349 wait pts/0 00:00:00 bash
4 R 0 19510 18852 0 76 0 - 1111 - pts/0 00:00:00 ps
其中,那個(gè) PRI 就是 Priority 的簡(jiǎn)寫,而 NI 是 nice 的簡(jiǎn)寫,這兩個(gè)東西是湊在一起才產(chǎn)生目前的 PRI 值的! PRI 越小時(shí),代表該程序可以具有‘越早被優(yōu)先執(zhí)行’的意思,只是 PRI 是由系統(tǒng)動(dòng)態(tài)產(chǎn)生的, 并不會(huì)是一直固定的值喔。至于那個(gè) NI (nice) 則是我們操作值額外給予的一個(gè)數(shù)值, 他可以影響 PRI 的值,基本上,他的相關(guān)性是這樣的:
PRI(new) = PRI(old) + nice
不過(guò)您要特別留意到,如果原本的 PRI 是 50 ,并不是我們給予一個(gè) nice = 5 ,就會(huì)讓 PRI 變成 55 喔! 因?yàn)?PRI 是系統(tǒng)‘動(dòng)態(tài)’決定的,所以,雖然 nice 值是可以影響 PRI ,不過(guò), 最終的 PRI 仍是要經(jīng)過(guò)系統(tǒng)分析后才會(huì)決定的。另外, nice 值是有正負(fù)的喔,而既然 PRI 越小越早被執(zhí)行, 所以,當(dāng) nice 值為負(fù)值時(shí),那么該程序就會(huì)降低 PRI 值,亦即會(huì)變的較優(yōu)先被處理。
看了“linux renice命令參數(shù)及用法詳解”還想看:
1.linux系統(tǒng)命令及其使用詳解
2.Linux有什么進(jìn)程管理命令
3.linux系統(tǒng)命令及其使用詳解
4.linuxCPU占用率過(guò)高怎么辦