2014年9月17日水曜日

reniceコマンド

昔からある快適化の方法で nice 値を変更して優先度を上げるというのがある。

nice 値はシステムのデフォルトでは 0 となっており、この数値は -20 ~ 19 の範囲で設定を行う。この数値が低いほどシステムの優先度が高くなる。しかし、ただ闇雲に nice 値を下げればいいというものではなく、効果が現れやすいプロセスに対して nice 値を調整する。

では
いったいどのプロセスの nice 値をいじればいいのだろうか。
古の掟により WindowServer のプロセスの優先度を上げるというのが通例。このプロセスが表示に関する部分を含むため、 renice 後の効果を実感出来る部分でもある。

まずは WindowServer の PID を抽出。

$ ps -ef | grep -i windowserver | grep -v grep

上記のコマンドによって出てきた数値の2つ目のフィールドが WindowServer の PID 。欲しいのは PID だけなので awk スクリプトで2つ目のフィールド部分だけ抜き出す。

$ ps -ef | grep -i windowserver | grep -v grep | awk '{print $2}'

ここで出てきた数値を renice コマンドで使うわけだ。
これらの作業を簡略化するために、全部1行でまとめてみた。 肝心の nice 値は -5 。実行には管理者パスワードの入力が必要。

$ sudo renice -5 `ps -ef | grep -i windowserver | grep -v grep | awk '{print $2}'`

現実的にどのくらいの nice 値がいいのかというと、 -10 くらいから調整していけばいい。  -15 くらいにすると体感出来るようになるくらいに表示のモタツキが無くなってくる。

システム起動時から nice 値を変更して優先度を上げておきたいなら、設定ファイルに直接書き込んでしまえばいい。 com.apple.WindowServer.plist へ書き込むことで実行可能だ。
ファイルの場所は、
/System/Library/LaunchDaemon/com.apple.WindowServer.plist
CoreAudio関連も弄ってみた。



0 件のコメント:

コメントを投稿