在Linux中使用“Nice”和“Renice”命令

這都是關於優先事項。

Linux系統可以同時運行多個進程(作業)。 即使CPU具有多個處理器或內核,進程數量通常也遠遠超過可用內核的數量。 Linux內核的工作是將可用的CPU週期分配給活動進程。

很高興獲得優先事項

默認情況下,所有進程都被認為是同樣緊急的,並被分配相同數量的CPU時間。 為了使用戶能夠更改進程的相對重要性,Linux會將優先級參數與用戶可設置或更改的每個作業相關聯。 Linux內核然後根據相對優先級值為每個進程預留CPU時間。

nice參數用於此目的。 它的範圍從20到19,並且只能取整數值。 值為20表示最高優先級,而19表示最低優先級。 最高的優先級由最負數表示這一事實有點不直觀; 然而,以較低的優先級運行被認為是“更好的”,因為它允許其他進程使用更大的CPU時間份額。

如何玩好

使用nice命令啟動一個新的進程(job),並同時為它指定一個優先級(nice)值。 要更改已經運行的進程的優先級,請使用命令renice

例如,以下命令行啟動“large-job”過程,將nice值設置為12:

不錯的-12大工作

請注意,12前面的短劃線並不代表減號。 它具有標記一個標誌的通常功能,該標誌作為nice命令的參數傳遞。

要將nice值設置為負12,請添加另一條短線:

不錯--12個大工作

請記住,較低的好值對應於較高的優先級。 因此,-12具有高於12的優先級。默認的nice值為0.普通用戶可以設置較低的優先級(正好的值)。要使用較高的優先級(負值很好的值),需要管理員權限。

您可以使用renice更改已經運行的作業的優先級:

renice 17 -p 1134

這會將進程ID為1134的作業的nice值更改為17.在這種情況下,指定nice值時不會使用短劃線作為命令選項。 以下命令將進程1134的nice值更改為-3:

renice -3 -p 1134

打印出當前進程的列表 ,請使用ps命令。 添加“l”(如“list”)選項列出了列標題“NI”下的nice值。 例如:

ps -al