| 開発者 | AT&T ベル研究所 |
|---|---|
| 初回リリース | 1973年11月 |
| オペレーティング·システム | UnixおよびUnixライク |
| プラットフォーム | クロスプラットフォーム |
| タイプ | 指示 |
| ライセンス | coreutils : GNU GPL v3 4.4BSD : BSD ライセンス |
niceは、 UnixおよびLinuxなどのUnix 系 オペレーティング システムで使用されているプログラムです。これは、同じ名前のカーネルコールに直接マップされます。は、特定のCPU 優先度でユーティリティまたはシェル スクリプトを呼び出すために使用され、これにより、プロセスに他のプロセスよりも多くの CPU 時間またはより少ない CPU 時間が割り当てられます。nice 値が -20 の場合、最低の nice 値、つまり最高の優先度になります。プロセスのデフォルトの nice 値は、親プロセスから継承され、通常は 0 です。
nice
最も低い優先度についてはシステムによってばらつきがあります。Linux システムでは最低優先度として niceness 19 が文書化されており、[1] BSD システムでは最低優先度として niceness 20 が文書化されています。[2]どちらの場合も、「最低」優先度は他に何も実行されない場合にのみ実行されることが文書化されています。
語源
ナイス値は、*nix システムのプロセスに付加される数値で、カーネル プロセス スケジューラによって他のデータ (各プロセスによって実行されるI/Oの量など) とともに使用され、プロセスの「真の優先度」を計算します。この優先度は、プロセスに割り当てられる CPU 時間の量を決定するために使用されます。
プログラム名niceは、プロセスの niceness 値を変更するタスクを暗示しています。
ナイスネスという用語自体は、ナイスネス値が高いプロセスはCPUパワーの要求が少なくなるため、システム内の他のプロセスやユーザーに対してより優しく、CPU使用率の観点からはシステムに対してより優しくないプログラムのために処理時間とパワーを解放するという考えから生まれました。[3]
使用と効果
nice複数のプロセスがCPUが提供できる以上のリソースを要求しているときに役立ちます。この状態では、優先度の高いプロセスは優先度の低いプロセスよりもCPU時間の大きな部分を取得します。スーパーユーザー/etc/security/limits.conf(ルート)のみがnice値をより低い値(つまり、より高い優先度)に設定できます。Linuxでは、他のユーザーまたはグループが低いnice値を設定できるように変更することができます。 [4]
ユーザーが他のプロセスの速度を低下させずに大きなファイルを圧縮したい場合は、次のコマンドを実行します。
$ nice -n 19 tar cvzf archive.tgzラージファイル
プロセスに特定の niceness 値を設定した場合の正確な数学的効果は、その Unix の実装でスケジューラがどのように設計されているかによって異なります。特定のオペレーティング システムのスケジューラには、さまざまなヒューリスティックも組み込まれています (たとえば、CPU バウンドのプロセスよりも I/O バウンドのプロセスを優先するなど)。簡単な例として、単一 CPU の Linux システムで 2 つの同じ CPU バウンド プロセスが同時に実行されている場合、それぞれの CPU 時間のシェアは 20 − pに比例します( pはプロセスの優先度)。したがって、 で実行されるプロセスはnice +15、通常の優先度のプロセスに割り当てられた CPU 時間の 25% を受け取ります: (20 − 15)/(20 − 0) = 0.25。[5]一方、BSD 4.x スケジューラでは、同じ例の比率は約 10 対 1 です。 [要出典]
類似のコマンド
関連reniceプログラムを使用すると、すでに実行中のプロセスの優先度を変更できます。[1]
LinuxにはioniceCPU時間ではなくI/Oのスケジュールに影響を与えるプログラムもあります。[6]
参照
- 殺す
- 追伸
- トップ
- util-linuxのionice (ディスク ストレージの I/O 優先度についてはマニュアルを参照)
参考文献
- ^ ab – Linux一般コマンドマニュアル
- ^ "renice(8) - NetBSD Man Pages". NetBSD . 2020年10月22日. 2023年4月18日閲覧。
- ^ Jerry Peek、Shelley Powers、Tim O'Reilly、Mike Loukides (2002)。Unix Power Tools。O'Reilly、p. 507。
- ^ – Linuxファイルフォーマットマニュアル
- ^ Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg (2013).オペレーティングシステムの概念(第9版). ホーボーケン、ニュージャージー: Wiley. p. 294. ISBN 978-1-118-06333-0。
- ^ – Linux一般コマンドマニュアル
外部リンク
- : 変更された nice 値を持つユーティリティを呼び出す – シェルおよびユーティリティ リファレンス、The Single UNIX 仕様、バージョン 4、The Open Group
