ホーム > プロセス管理 > nice

nice: 優先度を調整してプログラムを実行

プログラムの開始時にシステムリソースの占有優先度(Niceness)を調整して実行します。重要度の低いタスク(バックアップ、エンコーディングなど)がシステムの速度を低下させないようにしたり、逆に重要なタスクに優先権を与えたりする場合に使用します。

niceとは何か?

Linuxでは、プロセスの優先度は「Niceness(ナイス値)」で表現されます。`nice`コマンドはこの値を設定してプログラムを実行します。

Niceness(ナイス値)の理解

値が**大きいほど良い(Nice)**プロセスです。つまり、他のプロセスにリソースを譲ります。

  • 範囲: -20 (最も高い優先度/自己中心的) ~ 19 (最も低い優先度/譲歩)
  • デフォルト値: 0 (標準優先度)
  • 負数の使用: 優先度を上げる(負の値)にはルート(root)権限が必要です。

主要オプション (Shell)

優先度値(`-n`)と実行するコマンドを組み合わせて使用します。

1. 優先度を指定して実行

2. ヘルプ

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`nice` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用シナリオ例

実務でシステム負荷を管理するために使用するパターンです。

低い優先度でバックアップを実行 (リソースを譲る)

nice -n 10 tar -czf backup.tar.gz /var/www

大容量の圧縮(`tar`)タスクを実行する際に、Webサーバーなどの他の重要なサービスが遅くならないように、ナイス値を10に上げて(譲って)実行します。

非常に低い優先度で実行

nice -n 19 ./heavy_computation.sh

最大値である19を与え、システムがアイドル状態のときのみCPUを使用するようにします。

高い優先度で実行 (root権限が必要)

sudo nice -n -10 ./critical_service

重要なプロセスに高い優先度(-10)を与え、CPUを優先的に使用させます。負の値を設定するには`sudo`が必要です。

表記法の注意

nice -n -5 command

オプションの`-`と負数の`-`が合わさると`-10`のように見えることがあります。`nice -10`は`nice -n 10`(正の10)の古い表記法であるため、混同を避けるために`-n`を明示することをお勧めします。

インストール

niceは「GNU Coreutils」に含まれる基本コマンドであり、ほとんどすべてのLinuxディストリビューションに標準でインストールされています。

インストール確認

別途インストールなしで、すぐに使用できます。

ヒント&注意事項

nice vs renice

2つのコマンドの違いを明確に理解しておいてください。

  • nice: コマンドを**新しく開始する際に**優先度を付与します。
  • renice: **すでに実行中の**プロセス(PID)の優先度を変更します。
  • 確認方法: `top`や`htop`で`NI`カラムを見ると、現在のプロセスのnice値を確認できます。

関連するコマンド

機能的に類似しているか、よく一緒に使われるコマンドです。



同じカテゴリのコマンド