.mw-parser-output .monospaced{font-family:monospace,monospace}nice(ナイス)は、Unix系オペレーティングシステム上のそれぞれのプロセスに対する優先度を設定するコマンド、およびこれによってマッピングされるシステムコールである。 niceコマンドは、同名のシステムコールを呼び出すことで、与えられたプロセスの、カーネルスケジューラ内での優先度を変更する。 nice値の?20は最大の優先度であり、19は最低の優先度である。プロセスのデフォルトのnice値は親プロセスから継承するが、通常は0である。 niceは、複数のプロセスがCPUが供給できるよりも大きい計算資源を要求しているときに有用である。このような場合、高い優先度のプロセスが、低い優先度のプロセスよりも多量のCPU時間を獲得する。もし、プロセスが要求しているよりも多くの計算資源をCPUが提供できるならば、最も優先度の低いプロセスでさえ、最大でCPUの99%近くを使用できる。スーパーユーザー(またはroot)だけが、nice値を小さく(高い優先度に)設定することが出来る。Linuxでは、/etc/security/limits.confを変更することで、他のユーザやグループがnice値を小さく変更することを許可できる[1]。 関連するreniceコマンドは、すでに実行しているプロセスの優先度を変更するために使用される[2]。 特定のnice値を設定したときの、数学的に厳密な効果は、Unixの実装でスケジューラがどのように設計されているかに依存している。典型的なオペレーティングシステムのスケジューラは、CPUバウンドのプロセスよりもI/Oバウンドのプロセスを優先するなど、ヒューリスティクスなアルゴリズムを組み込んでいる。単純な例として、2つの同一のCPUバウンドのプロセスが単一CPUの(2.6.22以前の)Linuxシステムで同時に動作しているとき、 p {\displaystyle p} をプロセスの優先度とすると、それぞれのCPU時間の割り当ては 20 − p {\displaystyle 20-p} に比例する。したがって、nice値が+15で動作するプロセスが使用できるCPU時間は、通常の優先度のプロセスに比べて 1 4 {\displaystyle {\tfrac {1}{4}}} となる( 20 − 15 20 − 0 = 1 4 {\displaystyle {\tfrac {20-15}{20-0}}={\tfrac {1}{4}}} )。BSD 4.xのスケジューラでは、同じ例でのCPU時間の比率は、およそ10対1となる。 (*) 2.6.23以降のLinuxで採用されているCFSでは計算式が異なる Linuxにはioniceプログラムも存在する。これはCPU時間よりもI/Oのスケジューリングに影響を与える。
動作・用途
関連項目
GNU Core Utilities
top (UNIX)
ps (UNIX)
kill
参照^ ⇒limits.conf man page
^ Mike Loukides 著、砂原秀樹 監訳『UNIXシステムチューニング』アスキー出版局、1991年7月21日、107頁。.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}ISBN 4-7561-0077-5。
外部リンク
Manpage of nice - JM Project
nice(1)
renice(1M)
表
話
編
歴
Unixコマンド
ファイルとファイルシステム管理
cat
chattr(英語版)
chmod
chown
chgrp
cksum
cmp
cp
dd
du
df(英語版)
file
fsck
fuser(英語版)
ln
ls
lsof
mkdir
mount
mv
pax
pwd
rm
rmdir
size
split
tee
touch
type(英語版)
umask(英語版)
プロセス管理
at
bg
chroot
cron
fg
kill
killall
nice
pgrep
pidof
pkill
ps
pstree(英語版)
reboot
shutdown
time
top
ユーザ管理/環境
clear
env
exit
finger
history(英語版)
id
logname(英語版)
mesg
passwd
su
sudo
uptime
talk
tput(英語版)
uname
w
wall
who
whoami
write
テキスト処理
awk
banner
basename
comm(英語版)
csplit(英語版)
cut
diff
dirname
ed
ex(英語版)
fmt
fold(英語版)
head
iconv
join(英語版)
less
m4
more
nkf
nl
paste(英語版)
patch
printf(英語版)
read(英語版)
sed
sort
spell(英語版)
strings
tail
tr
troff
uniq
vi
wc
xargs
yes
シェルビルトイン
alias
cd
echo
test(英語版)
unset
wait
通信
dig
host(英語版)
ifconfig