なんだこれは

はてなダイアリーから移転しました。

niceな解 periodic dailyが重い件について

ClamAVのjobが重い。正確にはperiodic dailyで呼び出している、clamscanが重いのだ。*1fu7mu4の桶屋ががんばっているのが実感できる。手の平が暑い。しかも重くなる。そうなると、扱いにくくなって困る。こういうときはUNIXの力でなんとかできるんじゃないだろうか?そうniceな解があるはずだ。

periodic dailyの設定ファイルがcom.apple.periodic-daily.plistである。これはXMLで/System/Library/LaunchDaemonsにある。LowPriorityIOがYesになっていて、Niceの値が整数の1だったので、これはnice値だろうとあたりをつけた。

そういえば、man launchd.plistとかあるんだねと、見てみると確かにNiceintegerはnice(3) の値をそのdaemonに加えるとあり、LowPriorityID boleanはkernelがfile system I/Oで優先順位が低いと看做すとある。こういうマニュアルがあるのがいいなぁ

backupを録ってからkey Niceの値を10に書き換えて、unloadしてからloadする。

cd /System/Library/LaunchDaemons

sudo launchctl unload com.apple.periodic-daily.plist 

sudo launchctl load com.apple.periodic-daily.plist 

これで設定が変わったはずだ。

sudo lauchctl list 

で読み込まれたかを確認して、

sudo lauchctl start com.apple.periodic-daily

で動作確認。実際に動作させてみる。おおぅmail来た。確かに動いている。よしよし。

ということで、weeklyも同様にした。

参考launchd sample job(英語)

*1:実はこんなことしなくても、呼び出しているscriptにniceコマンド書けば解決する。