概要
プロセス起動時のnice値を調整します。高負荷処理を控えめに回したい時や、優先度の考え方を理解する時に重要です。コマンド省略時は現在のnice値を表示します。
基本構文
nice [オプション] [コマンド [引数...]]詳細解説
niceは、コマンド起動時のnice値を調整し、CPUスケジューリング上の優先度へ影響を与えるコマンドです。一般に、nice値を大きくすると他の処理へ譲りやすくなり、低くすると優先されやすくなります。
実務では、重い圧縮処理、バックアップ、集計、変換作業などを、対話操作や本番サービスの邪魔になりにくい形で動かす時に便利です。niceは処理を速くする魔法ではなく、譲り合い方を調整する道具です。
なお、より高優先度へ寄せるには権限が必要なことが多くあります。
このコマンドを使う場面
重い処理を控えめに実行したい時、バックアップや圧縮を本番作業へ配慮して動かしたい時、優先度調整の基本を学びたい時に使います。
まず安全に試す方法
1. nice -n 10 sleep 30 &
2. ps -o pid,ni,cmd -p $!
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
nice -n 10でsleepを起動し、psでNI列を確認します。
資格試験との関連
-
LinuC レベル1
範囲: 1.01.4 プロセスの生成、監視、終了根拠: officialLinuCレベル1では、プロセスの確認、監視、終了の基礎が問われます。
-
LPIC-1
範囲: 103.5 Create, monitor and kill processes根拠: officialLPIC-1では、プロセスの確認、監視、終了の基礎が問われます。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、niceはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
nice -n 10 sleep 30 & ps -o pid,ni,cmd -p $!PID NI CMD 12345 10 sleep 30
戻り値コード
- 0 正常終了。コマンド起動またはnice値表示に成功しました。
- >0 起動対象不存在、権限不足、不正な調整値などで処理できませんでした。
使用例
nice -n 10 tar -czf backup.tar.gz data/nice sleep 60nice -n 5 make
よくあるエラー
-
niceしたのに速くならない 原因: niceはCPUの譲り合いへ影響する道具であり、処理そのものを高速化するものではありません。対処: 目的が優先度調整なのか性能改善なのかを切り分けます。
-
負のnice値で起動できない 原因: 優先度を上げる方向の調整には権限が必要なことが多いです。対処: 権限前提を確認します。
導入・互換性情報
シェル組み込みのniceがある環境もあります。Linuxでは外部コマンドとしてのniceも広く使われます。
注意点 / セキュリティリスク
危険度は中程度です。nice値だけで性能問題を解決できると思い込むと、原因分析を誤ります。また、負の値で高優先度へ寄せる操作は権限前提を伴います。
FAQ
-
Q. reniceとの違いは何ですか。 A. niceは起動時の調整、reniceは既に動いているプロセスのnice値調整です。
-
Q. nice値を上げると良いことばかりですか。 A. 他処理へ譲りやすくなりますが、対象処理の完了は遅くなりやすいです。
参照リンク
- カテゴリー: Process And Jobs
- レベル: Practical
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎