man 1 ionice中文翻譯

ionice(1)-Linux手冊頁

名稱

    ionice-獲取/設置程序io的調度類和優先級

概要

    ionice [[ -c class ] [ -n classdata ] [ -t ]] -p PID [ PID ] …
    ionice [ -c class ] [ -n classdata ] [ -t ] COMMAND [ ARG ] …

描述

    該程序設置或獲取程序的io調度類和優先級。如果沒有給出參數或僅給出 -p 選項,ionice將查詢該進程的當前io調度類和優先級。
    在撰寫本文時,一個進程可以屬於以下三種調度類之一:
Idle
    只有在沒有其他程序要求磁盤io的情況下,以idle io優先級運行的程序纔會獲得磁盤時間。idle io進程對正常系統活動的影響爲零。此調度類不採用優先級參數。當前,普通用戶可以使用此調度類(自內核2.6.25起)。
Best effort
    這是默認的調度類。此類採用0-7的優先級參數,數字越小優先級越高。以best effort優先級運行的程序以循環方式提供服務。
    請注意,在內核2.6.26之前,未要求io優先級的進程正式使用“ none ”作爲調度類,但是io調度器會將此類進程視爲在best effort類中。best effort類中的優先級將動態地從該過程的CPU nice級別中派生:io_priority =(cpu_nice + 20)/ 5。
    對於使用CFQ io調度器的2.6.26之後的內核,未要求io優先級的進程將繼承CPU調度類。io優先級來自進程的cpu nice級別(與內核2.6.26之前相同)。
Real time
    無論系統中發生了什麼其他情況,RT調度類都被賦予對磁盤的優先訪問權限。因此,必須謹慎使用RT類,因爲它可能會餓死其他進程。與best effort類一樣,定義了8個優先級,表示給定進程將在每個調度窗口上接收多少時間片。普通(即非root)用戶不允許使用此調度類。

選項
  • -c class
    調度類。0表示none,1表示real time,2表示best-effort,3表示idle。
  • -n classdata
    調度類數據。如果類接受參數,則該選項定義了類數據。對於real time和best-effort類,0-7是有效數據。
  • -p pid
    傳入進程PID以查看或更改已運行的進程。如果未提供此參數,ionice將使用給定的參數運行列出的程序。
  • -t
    忽略設置請求優先級的失敗。如果指定了COMMAND或PID,則即使無法設置所需的調度優先級也要運行它,這可能是由於特權不足或內核版本太舊而導致的。
例子

    #ionice -c 3 -p 89
    將使用PID 89的進程設置爲idle io進程。
    #ionice -c 2 -n 0 bash
    以最高優先級運行’bash’,bash爲一個best-effort程序。
    #ionice -p 89 91
    打印PID爲89和91的進程的類別和優先級。

筆記

    從2.6.13開始,Linux使用CFQ io調度器支持io調度優先級和類。

可用性

    ionice命令是util-linux-ng軟件包的一部分,可從 ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/獲得。

參考文檔

https://linux.die.net/man/1/ionice

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章