RHEL5 新規機能

RHEL5(CentOS5)が出て暫く経つけど、あまり注目されてない機能など。
主にkernelのバージョンが上がって使えるようになった機能。

  • prctl PR_SET_NAME

プロセス名を変更出来る。他のOSでの類似機能はsetproctitleなど。
今まではargv[0]を上書きして変更するような泥臭い事でしか対応出来なかった。
しかも既存の方法で書き込める最大長はargvの合計サイズなので、通常は
引数長以上のプロセス名は設定できず、sendmail等ではargvの後ろに配置されている
env領域を無理矢理退かして割り当てたりと涙ぐましい努力がされていた。


しかし、実際にprctlでやってみたらps aux等の出力がうまく書き換わらない。
調べると /proc/xxx/status /proc/xxx/stat は書き換えられているけど
/proc/xxx/cmdline がそのままなのでpsの出力ではこっちが出てしまう模様。
うーん、微妙。結局今までのやり方も必要なのか。

  • ionice

niceコマンドのI/O版といったところ。
それなりに良い感じにスケジューリングしてくれるが、優先度を下げる場合も
root権限が必要なのがちょっといけてない感じ。
適当にラッパーでも書いて対応するかねぇ。

OOM Killer発動の代わりにpanicする。
vm.oom-killは無くなってしまったので強制的に抑制する事は不可能に。
プロセス単体はoom_adjに-17をセットすれば今まで通り対象から外せる。
そもそも起きるような状況は、もう終わってるというのは一理あるけど、
全プロセス対象での無効化機能は残して欲しかったな。


なんか書き出したヤツで有益なのはioniceだけな感じが。