«前の日記(2010-09-28) 最新 次の日記(2010-09-30)» 編集

ぱぱネット(仮)


2010-09-29 ServerMansVPSのゆううつ [長年日記]

_ [Linux][開発] CentOSは久々だが

各方面の努力によりリポジトリが整備されているのですごぶる楽である。 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、案外速いのである。こういう細々とした作業では。

_ [Linux][開発] などと調子良く操作していたら....

ttserverをコンパイルしてdaemontools経由で起動したところで....

-bash: fork: Cannot allocate memory

突然のメモリ不足でlsコマンドも動かなくなった(T_T)...... 久しぶりに「echo *」とか駆使しちゃったよおいいい..... しばらくすると使えるようになったがDBプロセスが落ちた...

_ [Linux][開発] OOMKillの詳細

OpenVZのWiki を読むと、システム全体のメモリが足りない状態でも 最低限保証されるプロセスメモリページ数がoomguarpagesのbarrier値 らしいのね。さっそく確かめてみる。

# cat /proc/user_beancounters
Version: 2.5
 uid     resource    held     maxheld   barrier
     oomguarpages    6506       16048     26112

......

...えーと26112*4096/1024/1024だから....

102MB?!

えっ?!最上位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サーバに恐ろしく大量のユーザを詰め込むつもりだと 確信するに十分な証拠ですよ。ちょっと無頓着過ぎるよね。

_ [Linux][開発] さてどうしようか

1980円も払って(払ってないけど)プロセスが使えるメモリが102MBまでの上に、 スワップも使えないのでは、さすがに実用に耐えない。 せっかく調子良く設定してたけど無料期間終わる前に解約しないとな。 MyDTIで解約も簡単だからいいんだけどね。

当然、自宅鯖にはこんなアフォな制限はないわけである....まだまだVPSは時期尚早といったところか。

さて、SaaSes VPSにいくか さくらのVPSいくか...悩むな。

本日のリンク元

2001|04|
2006|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|03|04|05|10|

[BANNER]
このサーバーをもう12年も維持しているかと思うとめまいがしますよ。
ツッコミ機能は、ハンドル名が完全日本語じゃないと登録できません。
また、本文にURLが含まれていても登録できません。
いずれもSPAM対策です。
[Panda Papanda]
2010年
9月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

[Papanda]  [Kuma]  [Tomorin]  [Iron]  [Eiza]  [Dokkin]  [Honya]  [Zyou]  [Tsuyo]  [Bike]  [KoeBBS]  [Chukei]  [portal]  [tvmatome]  [KaoPaku] 

訪問者数:(11778+2560143)