學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linuxrenice命令參數(shù)及用法詳解

時(shí)間: 志藝942 分享

  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)。接下來是小編為大家收集的linux renice命令參數(shù)及用法詳解,希望能幫到大家。

  linux renice命令參數(shù)及用法詳解

  功能說明:調(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)對多任務(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)就越高,就越&ldquo;優(yōu)先執(zhí)行&rdquo;。換算公式為: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:中文喚作&ldquo;CPU親和性&rdquo;,是指在CMP架構(gòu)下,能夠?qū)⒁粋€(gè)或多個(gè)進(jìn)程綁定到一個(gè)或多個(gè)處理器上運(yùn)行。

  請先確定你的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è)工作&rsquo;的呢!那么多個(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è)所謂的&lsquo;優(yōu)先執(zhí)行序 (priority)&rsquo;的屬性, 利用該屬性來讓 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í),代表該程序可以具有&lsquo;越早被優(yōu)先執(zhí)行&rsquo;的意思,只是 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)&lsquo;動(dòng)態(tài)&rsquo;決定的,所以,雖然 nice 值是可以影響 PRI ,不過, 最終的 PRI 仍是要經(jīng)過系統(tǒng)分析后才會(huì)決定的。另外, nice 值是有正負(fù)的喔,而既然 PRI 越小越早被執(zhí)行, 所以,當(dāng) nice 值為負(fù)值時(shí),那么該程序就會(huì)降低 PRI 值,亦即會(huì)變的較優(yōu)先被處理。


看了&ldquo;linux renice命令參數(shù)及用法詳解&rdquo;還想看:

1.linux系統(tǒng)命令及其使用詳解

2.Linux有什么進(jìn)程管理命令

3.linux系統(tǒng)命令及其使用詳解

4.linuxCPU占用率過高怎么辦

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)
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • Linux ipcs命令與ipcrm命令的用法詳解
    Linux ipcs命令與ipcrm命令的用法詳解

    你還在為不知道Linux ipcs命令與ipcrm命令的用法詳解而煩惱么?接下來是小編為大家收集的Linux ipcs命令與ipcrm命令的用法詳解,希望能幫到大家。 Linux ipcs命令

  • linux grep命令詳解
    linux grep命令詳解

    grep (global search regular expression(RE) and print out the line,全面搜索正則表達(dá)式并把行打印出來)是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹

  • Linux命令convert GPT to MBR圖解
    Linux命令convert GPT to MBR圖解

    隨著嵌入式系統(tǒng)設(shè)備的普及,嵌入式設(shè)備的種類越來越多,這就導(dǎo)致了現(xiàn)在還沒有一種統(tǒng)一的操作系統(tǒng)能夠輕易地運(yùn)行在任何嵌入式設(shè)備平臺(tái)上。接下來是小

  • Linux下的GPT分區(qū)教程
    Linux下的GPT分區(qū)教程

    隨著Internet網(wǎng)絡(luò)的普及,Linux操作系統(tǒng)正在各個(gè)方面得到廣泛的應(yīng)用。Linux操作系統(tǒng)在服務(wù)器、嵌入式等方面已經(jīng)取得不俗的成績,在桌面系統(tǒng)方面,也逐漸受到

2835579