各方面の努力によりリポジトリが整備されているのですごぶる楽である。 ffmpegはhttp://rpmrepo.org/RPMforge/Usingから、
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm # rpm -Uvih rpmforge-release-0.5.1-1.el5.rf.i386.rpm # yum update # yum install ffmpeg
でOKであった(libx264 enabled!)。
djb daemontoolsなどはhttp://download.opensuse.org/から、
# wget http://download.opensuse.org/repositories/home:/weberho:/qmail/CentOS_5/home:weberho:qmail.repo # cp home\:weberho\:qmail.repo /etc/yum.repos.d/ # yum update # yum install daemontools # vi /etc/inittab # ( v1:12345:respawn:/usr/bin/svscanboot 追加 ) # telinit Q
でOKであった。便利便利。そしてServerMans@VPS、案外速いのである。こういう細々とした作業では。
ttserverをコンパイルしてdaemontools経由で起動したところで....
突然のメモリ不足でlsコマンドも動かなくなった(T_T)...... 久しぶりに「echo *」とか駆使しちゃったよおいいい..... しばらくすると使えるようになったがDBプロセスが落ちた...
OpenVZのWiki を読むと、システム全体のメモリが足りない状態でも 最低限保証されるプロセスメモリページ数がoomguarpagesのbarrier値 らしいのね。さっそく確かめてみる。
# cat /proc/user_beancounters Version: 2.5 uid resource held maxheld barrier oomguarpages 6506 16048 26112
......
...えーと26112*4096/1024/1024だから....
えっ?!最上位1980円のプランでも1プロセス当たり102MBしか使えないの? 計算間違ってる?俺。こんなんJavaVMはおろかそこらのRubyプロセスだって殺されちゃう数値だぞ。
値の根拠は何となく理解......490円のエントリープランはメモリ256MB。 その約半分が102MBというわけだ。もしかしてOpenVZってOOMKill設定はホストOSで共通なのかな。 エントリーを何十人分もごっちゃごちゃに詰め込んだサーバに、プロも突っ込まれてると予想....
こういうことを書くとすぐ「ループするテストプログラムかいたけど1GB以上確保できたぞ!」 「DTIは悪くない!」とかいう人が出てくるので、もう少し詳しく説明しよう。
OOMKillっていう仕組みは、図にするとこういうこと。
ユーザーごとに(ゲストOSごとに)起動できるプロセスの総メモリ量は、 当然プラン別に公開されている値で、運がよければそこまで確保できる。
システム全体(ゲストOSを格納しているホストOS)のメモリ使用量がしきい値を越えたとき、ゲストOSのプロセスを殺してメモリを確保する。いわゆるOverCommit状態の解消というやつです。 このとき、OpenVZは、ゲストOSの oomguarpages barrier値未満のプロセスを優先して残す らしい。 言い換えればデータベースサーバみたいに、cputime(稼働時間)は短くても 大量のメモリをコミットするプロセスは即座に殺される ってこと。結局ナニがおきるかというとゲストOSで見えているメモリが十分足りているはずなのに「なんか突然プロセスが死ぬ」ように見えるってことです。本当にnot alloc memoryのときに(緊急避難的に)殺されるのならたいした問題じゃない。どこが閾値かユーザにはまったくわからないまま、突然プロセスが死んだりサーバが起動できなくなるのが問題なんだな。
もちろん、OpenVZでも回避する方法はあって、それはただひとつ 「ユーザを大量に詰め込まない」こと。OverCommitが起きない 余裕ある設定であれば当然起きない。
が!!、DTIは他社が廉価VPSを見て焦ったのか、こともあろうに ゲストOSのメモリが2倍使えます! なんて言い出して るわけですよ......バカジャネーノ? DTIは1サーバに恐ろしく大量のユーザを詰め込むつもりだと 確信するに十分な証拠ですよ。ちょっと無頓着過ぎるよね。
1980円も払って(払ってないけど)プロセスが使えるメモリが102MBまでの上に、 スワップも使えないのでは、さすがに実用に耐えない。 せっかく調子良く設定してたけど無料期間終わる前に解約しないとな。 MyDTIで解約も簡単だからいいんだけどね。
当然、自宅鯖にはこんなアフォな制限はないわけである....まだまだVPSは時期尚早といったところか。
さて、SaaSes VPSにいくか さくらのVPSいくか...悩むな。