ディスクをオーバーロードするソフトウェアを実行していますIO時々。そのソフトウェアからの高速な応答は必要ありません。他のアプリケーションからの高速な応答が必要なので、そのために低いプロセス優先度を設定できます。私はプロセスの優先度がディスクにどのように影響するかを尋ねたいIOプロセスの優先度。
小さな実験を試しました:プロセスの優先度を低く(システムモニターのGNOMEで)設定し、IO優先度をionice
でチェックしました。
結果:
IO priority = 0 for normal process priority
IO priority = 4 for low process priority
しかし、これは常にこのように機能しますか?プロセスの優先度を下げると、IO優先度は常に下げられますか?
Linuxでは、デフォルトで、プロセスのIO=優先順位は、式に従ってCPU優先順位から導出されます。
io_priority = (cpu_Nice + 20) / 5
IO優先度の範囲は0〜7で、0が最高の優先度です。 CPUの使いやすさの範囲は-20から19で、-20が最優先です。
ionice
コマンドを使用して、プロセスのIO優先順位を変更できます。システムがビジー状態でない場合にのみそのプロセスを実行する場合は、「デフォルトの「ベストエフォート」クラスではなく、アイドル」クラス:
ionice -c 3 -p $PID
ionice -c 3 mycommand --someoption
優先度が最も低くても、ディスクを集中的に使用するプロセスは、キャッシュを汚染するため、システムの速度を低下させる傾向があります。
詳細は ionice
man page を参照してください。