ServersMan@VPS 最大メモリは本当に使い物にならないのか


色んなところで「ServersMan@VPS は、OpenVZなので最大メモリまで使えない」とディスられているので、本当に使えないのか試してみました。

なぜ最大まで使えないのか

Scan 17
Creative Commons License photo credit: moose477

Entryプランを例に上げると、保証が 256MB、最大が3倍の 768MB です。
OpenVZの仕様で、保証値の 256MBを超過して利用した場合、サーバ全体のメモリが不足していると、一番メモリを使っているプロセスが殺されてしまう問題が起こりえます。逆にサーバ全体のメモリが不足してなければ勝手にプロセスを殺されることもなく最大まで使えるってことですよね。

# 右の画像に深い意味はありません。Photo Dropper 使ってみたかっただけです(´・ω・`)

メモリ不足が起きることがあるのでは?

急激なメモリ使用量増加 etc などの理由で、絶対ない、とは言えないから「最大」って言ってるんだと思います。が・・・こちらにアナウンスされているとおり、「システムには十分空きがあるように設計されておりますので、安心してご利用ください」と書かれています。本当にメモリ不足になっても何とかしてくれるんじゃないでしょうか。何もしてくれなかったらさっさと辞めますけど・・・。

現在、どうなの?

現在メモリ不足は起こってないのかを簡単に実験してみました。やったことは単純に保証メモリを上回るメモリをずーっと使い続けてプロセスが殺されないか試しただけです。

材料
・ServersMan@VPS Entryプラン
・OSは、Ubuntu(32bit)
・実験開始:2011/3/3 1:30
・実験終了:2011/3/8 12:00

1. メモリ無駄使い用のPerlを動かして放置

#!/usr/bin/perl
use strict;

my %hash;
my $sec = 3600 * 24 * 7;

# メモリ大量消費
for(my $i=0; $i < 3000000; $i++){
    $hash{$i} = 'メモリチェック(`・ω・´)';
}

# ずっと sleep
sleep($sec);

これを動かすと、メモリを380Mぐらい使ったまま1週間常駐し続けます。まさに無駄使い。

2. 実験開始直後のデータ
topから抜粋

Mem:    786432k total,   423480k used,   362952k free,        0k buffers
36215 temo      25   0  386m 383m 1464 S  0.0 49.9   0:05.23 memcheck.pl

合計で 786Mあって、423M使用中、362M空いてる状態です。
で、無駄使いスクリプトが383M使用してます。差分の40Mぐらいは、node.js とか 監視系のデーモンとか細々したものが稼働中。
Entryプランの保証値である、256M は、スクリプト1本で超えているので、メモリが不足すればまっさきにKILLされるでしょう。

3. 実験終了時のデータ
ほぼ5日間放置し続けました。

temo@dti-vps-srv29:~/develop/perl$ ps aux | grep memcheck
temo     36215  0.0 49.9 395356 392688 pts/3   S+   Mar03   0:05 /usr/bin/perl ./memcheck.pl

このとおりバッチリ殺されず生存しています。

まとめ

ということで、少なくても私のUbuntuが動いているサーバではメモリ不足は起こっていない可能性が高いです。(断言は出来ませんが・・)
OpenVZに殺されたぁー、って人は @serversman_vps さんに訴えれば良いと思います(U^ω^)

コメントを残す

メールアドレスが公開されることはありません。

Top