主頁 > 知識(shí)庫 > linux renice命令參數(shù)及用法詳解(linux修改程序運(yùn)行優(yōu)先級(jí)命令)

linux renice命令參數(shù)及用法詳解(linux修改程序運(yùn)行優(yōu)先級(jí)命令)

熱門標(biāo)簽:外呼系統(tǒng) 百度競價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 美團(tuán) 家政服務(wù)網(wǎng)絡(luò) 電話機(jī)器人搭建 解決方案 服務(wù)器配置 硅谷的囚徒呼叫中心
linux renice 命令詳解
  功能說明:調(diào)整程序優(yōu)先級(jí)。
  語  法:renice [優(yōu)先等級(jí)][-g 程序群組名稱>...][-p 程序識(shí)別碼>...][-u 用戶名稱>...]
  補(bǔ)充說明: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í)別碼>  改變該程序的優(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上,這樣一來,把不重要的進(jìn)程安排到某個(gè)CPU,可以大大改善系統(tǒng)整體性能。
一、先看系統(tǒng)進(jìn)程:
PR 就是 Priority 的簡寫,而 NI 是 nice 的簡寫。這兩個(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 命令詳解
  功能說明:設(shè)置優(yōu)先權(quán)。
  語  法:nice [-n 優(yōu)先等級(jí)>][--help][--version][執(zhí)行指令]
  補(bǔ)充說明: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 命令詳解
  功能說明:調(diào)整優(yōu)先權(quán)。
  語  法:renice [優(yōu)先等級(jí)][-g 程序群組名稱>...][-p 程序識(shí)別碼>...][-u 用戶名稱>...]
  補(bǔ)充說明: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í)別碼>  改變該程序的優(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í)行順序:

  還記得我們提過的多人多工環(huán)境吧?因?yàn)槟壳暗?x86 平臺(tái)的 CPU 可以做到多工的行為, 所以啰,我們的 Linux 可以在 x86 上面lsquo;同時(shí)進(jìn)行多個(gè)工作’的呢!那么多個(gè)工作是如何進(jìn)行的呢? 其實(shí)每個(gè)工作都會(huì)進(jìn)入到 CPU 的工作排程當(dāng)中,并等待 CPU 來執(zhí)行, 而 CPU 會(huì)根據(jù)每個(gè)工作的優(yōu)先執(zhí)行序 (priority) 來判斷誰比較重要, 所以某個(gè)工作就可能會(huì)比較優(yōu)先被執(zhí)行完畢啦!

  也就是說, Linux 系統(tǒng)中,每個(gè) process 都會(huì)擁有一個(gè)所謂的‘優(yōu)先執(zhí)行序 (priority)’的屬性, 利用該屬性來讓 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 的簡寫,而 NI 是 nice 的簡寫,這兩個(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
  不過您要特別留意到,如果原本的 PRI 是 50 ,并不是我們給予一個(gè) nice = 5 ,就會(huì)讓 PRI 變成 55 喔! 因?yàn)?PRI 是系統(tǒng)‘動(dòng)態(tài)’決定的,所以,雖然 nice 值是可以影響 PRI ,不過, 最終的 PRI 仍是要經(jīng)過系統(tǒng)分析后才會(huì)決定的。另外, nice 值是有正負(fù)的喔,而既然 PRI 越小越早被執(zhí)行, 所以,當(dāng) nice 值為負(fù)值時(shí),那么該程序就會(huì)降低 PRI 值,亦即會(huì)變的較優(yōu)先被處理。此外,您必須要留意到:

標(biāo)簽:韶關(guān) 邢臺(tái) 北海 防城港 撫州 南昌 烏蘭察布 臨沂

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux renice命令參數(shù)及用法詳解(linux修改程序運(yùn)行優(yōu)先級(jí)命令)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266