2010年 7月 31日 はてなブックマーク -

まず基本仕様

* CPU 2コア
* メモリー 512MB
* HDD 20GB
* ネットワーク 100Mbps(いちおうの上限)
* リモートコンソール付き
* 再起動、再インストールは、セルフサービスでコンパネから可能

ホスト側は、QuadCore Xeonで、1Gbpsにて上位スイッチに接続し、10Gbpsでさくらインターネットの基幹ネットワークに接続しています。
(クローズドベータテスト中に400Mbps位出たという記事もありましたが、さすがに対策する予定です)

ハイパーバイザーは、巷の格安VPSで多く利用される、VirtuaozzoやOpenVZ、Xenの準仮想化と異なり、KVMで完全仮想化になっています。
完全に512MBの実メモリを割当しますから、ホストOS側でスワップされずパフォーマンスが低下しないですし、ゲスト環境側でスワップを用意することも可能です。

実メモリは、ゲストで必要とするメモリ容量の1.5倍?2倍程度を搭載しています。
というのは、ホストOSのメモリの2/3以上をゲストに割り当てると、過負荷時のレスポンスが急激に悪化したり、不安定になったりということが言われており、当社でも再現されているので、余裕を持った設計にしています。
さらに、ホストOSのメモリの余裕を持たすことで、ディスクI/Oも劇的によくなります。
ゲストOSのスワップ時でも、ホストOSのキャッシュに入っていれば、メモリの延長上といえるかもしれません。

このように、100Mbpsインターフェース、20GBのHDD、2 CPU、512MBメモリといっても、同種のVPSサービスとは一線を画します。
その上で、「格安VPS」といえる価格帯で出す予定にしていますので、海外にも増してメリットのあるサービスになるのではと考えています。

….

さくらのVPSの初期状態において脊髄反射で感じるのは「思いのほか空きメモリが少ない!」ということです。

ps -aux結果


USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10348 688 ? Ss Jul15 0:00 init [3]
root 2 0.0 0.0 0 0 ? S root 3 0.0 0.0 0 0 ? SN Jul15 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S root 5 0.0 0.0 0 0 ? S root 6 0.0 0.0 0 0 ? SN Jul15 0:00 [ksoftirqd/1]
root 7 0.0 0.0 0 0 ? S root 8 0.0 0.0 0 0 ? S root 9 0.0 0.0 0 0 ? S root 10 0.0 0.0 0 0 ? S root 15 0.0 0.0 0 0 ? S root 20 0.0 0.0 0 0 ? S root 21 0.0 0.0 0 0 ? S root 22 0.0 0.0 0 0 ? S root 90 0.0 0.0 0 0 ? S root 91 0.0 0.0 0 0 ? S root 94 0.0 0.0 0 0 ? S root 96 0.0 0.0 0 0 ? S root 168 0.0 0.0 0 0 ? S Jul15 0:00 [khungtaskd]
root 169 0.0 0.0 0 0 ? S Jul15 0:00 [pdflush]
root 170 0.0 0.0 0 0 ? S Jul15 0:00 [pdflush]
root 171 0.0 0.0 0 0 ? S root 172 0.0 0.0 0 0 ? S root 173 0.0 0.0 0 0 ? S root 317 0.0 0.0 0 0 ? S root 361 0.0 0.0 0 0 ? S root 362 0.0 0.0 0 0 ? S root 363 0.0 0.0 0 0 ? S root 373 0.0 0.0 0 0 ? S root 386 0.0 0.0 0 0 ? S root 407 0.0 0.0 0 0 ? S root 435 0.0 0.1 12672 764 ? S root 1059 0.0 0.0 0 0 ? S root 1060 0.0 0.0 0 0 ? S root 1062 0.0 0.0 0 0 ? S root 1112 0.0 0.0 0 0 ? S root 1429 0.0 0.1 5908 608 ? Ss Jul15 0:00 syslogd -m 0
root 1432 0.0 0.0 3804 424 ? Ss Jul15 0:00 klogd -x
dbus 1492 0.0 0.1 21256 964 ? Ss Jul15 0:00 dbus-daemon —system
root 1501 0.0 0.1 3800 580 ? Ss Jul15 0:00 /usr/sbin/acpid
68 1509 0.0 0.7 30604 3660 ? Ss Jul15 0:00 hald
root 1510 0.0 0.2 21692 1056 ? S Jul15 0:00 hald-runner
68 1518 0.0 0.1 12324 844 ? S Jul15 0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
68 1523 0.0 0.1 12324 848 ? S Jul15 0:00 hald-addon-keyboard: listening on /dev/input/event0
root 1532 0.1 0.1 10228 680 ? S Jul15 4:09 hald-addon-storage: polling /dev/hdc
root 1547 0.0 0.2 62624 1208 ? Ss Jul15 0:00 /usr/sbin/sshd
ntp 1558 0.0 0.9 23388 5028 ? SLs Jul15 0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root 1576 0.0 0.4 69004 2348 ? Ss Jul15 0:00 sendmail: accepting connections
smmsp 1584 0.0 0.3 59764 1800 ? Ss Jul15 0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root 1593 0.0 0.2 19708 1144 ? Ss Jul15 0:00 crond
root 1601 0.0 0.0 18732 456 ? Ss Jul15 0:00 /usr/sbin/atd
root 1615 0.0 0.2 52108 1332 ? Ss Jul15 0:00 login — root
root 1616 0.0 0.0 3792 480 tty2 Ss+ Jul15 0:00 /sbin/mingetty tty2
root 1617 0.0 0.0 3792 484 tty3 Ss+ Jul15 0:00 /sbin/mingetty tty3
root 1628 0.0 0.0 3792 480 tty4 Ss+ Jul15 0:00 /sbin/mingetty tty4
root 1629 0.0 0.0 3792 480 tty5 Ss+ Jul15 0:00 /sbin/mingetty tty5
root 1640 0.0 0.0 3792 480 tty6 Ss+ Jul15 0:00 /sbin/mingetty tty6
root 1641 0.0 0.1 3800 536 ttyS0 Ss+ Jul15 0:00 /sbin/agetty -h 115200 ttyS0 vt100
root 1684 0.0 3.1 201952 15920 ? SN Jul15 0:00 /usr/bin/python -tt /usr/sbin/yum-updatesd
root 1686 0.0 0.2 12916 1160 ? SN Jul15 0:00 /usr/libexec/gam_server
root 1722 0.0 0.6 90320 3528 ? Ss Jul15 0:00 sshd: root@pts/0
root 1724 0.0 0.2 10932 1440 pts/0 Ss+ Jul15 0:00 -bash
root 1758 0.0 0.2 10928 1372 tty1 Ss+ Jul15 0:00 -bash
root 10606 0.0 0.6 91048 3380 ? Rs 13:17 0:00 sshd: root@pts/1
root 10608 0.0 0.2 10932 1392 pts/1 Ss 13:17 0:00 -bash
root 10643 0.0 0.1 10460 876 pts/1 R+ 13:38 0:00 ps -aux


まず、コンソール(mingetty)はこんなに要らないので、減らします。

/etc/inittabを以下のように編集


# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6


デーモンも減らします。


[root@www10xxu ~]# chkconfig yum-updatesd off
[root@www10xxu ~]# chkconfig haldaemon off
[root@www10xxu ~]# chkconfig yum-updatesd off
[root@www10xxu ~]# chkconfig acpid off
[root@www10xxu ~]# chkconfig messagebus off


これで再起動すれば、ずいぶんとメモリの空きができます。
再起動後に確認すると、使用中は150MBとなっていました。もう少しがんばれば、もっと削減できそうです。

「さくらのVPS」を使ってみる (さくらインターネット創業日記)

swapが使えるLinuxKVMベースのVPSサービスの紹介です。OpenVZだとswapが無い為、定められたメモリ量を超える事は出来ません。一時的な負荷の上昇でswapoutも出来ません。
そういった所からLinuxKVMなVPSはとても貴重です。


1年前 | | 2010年 7月 31日 | このエントリーを含むはてなブックマーク