VPS環境で、メモリ不足でgemが使えない? (Segmentation fault)

サーバが欲しくて、KDDIグループのVPSを契約してみました。
http://www.scalable.jp/service/list.html
ディスク20GB、メモリ360MB、月間転送量無制限という
『VPSスケーラブルプラン』VS-02 です。
この内容でKDDIブランドで月額3,780円~というのはないので、
リリース初日に申し込んでしまいました。
 
ウェブサーバとして使ってみる予定ですが、
設定が終わっていないので、今はまだヒマしている状態です。
とりあえず、Muninとかを入れてみました。
 

ところが、問題発生。
 
前に使っていたサーバが古くて、メモリ512MBだったので
今回も360MBで何とか問題ないかと思っていましたが、
スワップがないので 360MB を超えるメモリは全く使えません。
Ruby on Rails をインストールしようと、gem を使ったのですが、
『Segmentation fault』 が発生して gem を使えません。
# cat /proc/meminfo
MemTotal: 368640 kB
MemFree: 339544 kB

# gem update
Updating installed gems...
Bulk updating Gem source index for: http://gems.rubyforge.org
/usr/lib/ruby/1.8/yaml.rb:133: [BUG] Segmentation fault
ruby 1.8.5 (2006-08-25) [i386-linux]

Aborted
yaml.rbのソースを見ると、YAML ファイルの読み込みで
落ちています。メモリ不足っぽい。
        def YAML.load( io )
                yp = parser.load( io )
        end
スワップがないのは、この環境の設定ポリシーなのか、
VPS (Virtuozzo) そもそもの仕様なのかは、未確認です。

http://wassr.jp/user/tenforward/statuses/s7VMtamxGM によると
そもそも VPS に与えるメモリに実メモリとスワップの区別はありません.将来的には実メモリ量の制限も出来る事になるかも知れませんが (カウントしているパラメータはあります),今は何の区別もなくいくらメモリを与えるか?みたいな制限ですね.VPSが消費しているメモリが実メモリに載っているのか,スワップにいるのか?は OS と Virtuozzo が決めます.
とのこと。

gem を使いたいときは、ローカルにファイルをダウンロードして --local すれば済む?
依存解決とか手動でやるのはシンドいけど。
最新 RoR を入れられる何か手軽なインストール方法はあるんでしょうか?

この記事へのコメント

この記事へのトラックバック