HDDバックアップデータの圧縮処理とかそんなに急がないんですよ。
でもlzma とか選ぶとCPUリソースを食って、レスポンスが悪くてシェルの作業が止まる。
自分の時間が一番の高コストです。圧縮処理のためにLinuxの応答待ちとかちょっと我慢できない。
dd したデータをlzma圧縮の優先度を下げる。
圧縮処理は終わればいいのであって、急いで終わる必要がない。
そこでLinuxのプロセスの優先度である。
niceが大きいほど他のプロセスに道を譲る。つまり、nice値は大きいほどナイスガイになる。
Nice初期値は0でニュートラルである。
お急ぎ -19,ー18,ー17,、、、、−1、0、1,2,、、、、18,19 ゆっくり
ただし
通常 使えるNice値は 0~20 。
優先度20以上は許されない。
優先度−1から下もマイナス制限されている。
/etc/security/limits.confを書き換えで制限を外すことが出来る。
普通は、そこまで必要ないので
デフォルトの0が優先、急がないプロセスは優先度を落とす。という設計方針でいい。
たとえばバックアップをnice=3にすれば、
バックアップより、通常処理が優先されるよね。されるよね。ってことですの。
niceの決め方。
nice値を指定するのは プログラム起動時、起動後のどちらでもいい。
プログラム起動時に指定する
nice -n 番号 コマンド
プログラム起動後に変更する
renice 番号 -p プロセス番号
Nice値の確認
お馴染みpsコマンドを引数を増やして使う。
ps auxf のオプション nice
何もしてない時
takuya@atom:~$ ps f -U takuya -o args,pid,nice COMMAND PID NI sshd: takuya@pts/0 2509 0 \_ -bash 2510 0 \_ screen 2617 0 \_ SCREEN 2618 0 \_ /bin/bash 2619 0 | \_ sudo dd 2687 0 \_ /bin/bash 2694 0 | \_ lzma de 2778 0 \_ /bin/bash 2782 0 | \_ sudo ap 2979 0 \_ /bin/bash 2916 0 \_ ps f -U 3072 0
ddも全部ゼロですねー
niceを変えてみましょう
lzmaの優先度を下げます。lzmaは遅いです。バックアップファイルを圧縮しているのですが、lzmaは小さくなるが、処理に時間が掛かるし、そもそもバックアップの圧縮なら、時間を着にしないので、優先度を下げましょう
takuya@atom:~$ renice 3 2778 2778 (process ID) old priority 0, new priority 3
変更を確認
takuya@atom:~$ ps f -U takuya -o args,pid,nice COMMAND PID NI sshd: takuya@pts/0 2509 0 \_ -bash 2510 0 \_ screen 2617 0 \_ SCREEN 2618 0 \_ /bin/bash 2619 0 | \_ sudo dd 2687 0 \_ /bin/bash 2694 0 | \_ lzma de 2778 3 \_ /bin/bash 2782 0 \_ /bin/bash 2916 0 \_ ps f -U 3089 0
ちゃんと変わりました。これでとりあえず起動しておいて、細かいことはあとで!とできます。安心です