nice / renice を使うと起動するプロセスや起動済のプロセスの優先度を変更することができます。
nice の書式:
nice [-n 数値 ] 実行するコマンド [引数] ..
例:
$ nice -n 10 sleep 100 # nice 10 sleep 100 は間違い
renice: の書式:
renice 数値 [ [-p] PID ] [ [-g] pgrps] [ [-u] ユーザ]
指定した PID (またはプロセスグループ(PGID)、ユーザ)のプロセスの優先度を指定した数値に基づいて変更します。
Cygwin で実行する場合、PID にはWindows 上の実 PID (WINPID)ではなく、Cygwin で ps すると見られる仮想 PID を指定します。
例1: PID で指定
$ sleep 50 &
[1] 1448
$ renice 10 -p 1448
例2: PGID で指定
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
2264 2248 2264 316 con 11363 13:31:29 /usr/bin/sleep
2168 2248 2168 2168 con 11363 13:31:33 /usr/bin/bash
2948 2168 2168 2920 con 11363 13:31:33 /usr/bin/sleep
$ renice 19 -g 2168 # PGID が 2168 の全てのプロセスが対象
例3: ユーザ名で指定( cygwin 経由で起動しているプロセスのうち実行ユーザが john のプロセス全ての優先度を -10 (通常以上)にする)
$ renice -10 -u john
Windows XP で実行した場合のプロセス優先度の対応表:
nice -n | プロセス優先度 |
12以上 | 低 |
4 〜 11 | 通常以下 |
-4 〜 3 | 通常 |
-12 〜 -5 | 通常以上 |
-19 〜-13 | 高 |
-20 以下 | リアルタイム |
参考:
–起動するプログラムの優先度を変更する方法(@IT)
タスクマネージャを使った変更方法と、cmd.exe の start コマンドを使った優先度指定方法についてかかれています。