Vultrの$2.5/moインスタンス(Ubuntu)にSwapファイルを追加する

最近はインターネット上の作業サーバーとしてVultrをメインで利用しています。Vultrでは$2.5/moのインスタンスが用意されています。タイミングよく東京リージョンでこの$2.5/moを契約できたこともあり、このインスタンスをメインの作業サーバーとして使っています。

スポンサーリンク




メモリ不足でコンパイルに失敗

$2.5/mo サーバーのスペックは、1CPU、20GB SSD、512MB Memoryです。

$2.5/mo instance @ vulture

簡単なプログラムの確認や、自宅への中継サーバーと利用する分には十分なスペックです。満足して利用してましたが、Blockchainの勉強を初めて一つ問題が出てきました。Blockchainを代表する実装であるBitcoinを試そうとコンパイルを始めてみたものの、コンパイルに失敗します。

どうもメモリが足りなくてコンパイルが落ちているようです。そこで、Swapを追加してこれを回避することにしました。

VultrでSwap追加は許可されているのか?

Swapを追加しようとしたものの、一つ不安が湧いてきました。Swapの追加はSSDに負荷をかけます。Vultr側で禁止されていないのでしょうか。ドキュメントを探してみると、Swapの追加方法が開設されています。どうやらSwapの追加は公式に許可されているようです。( Setup Swap File on Linux

Swap追加手順

では、Swapを追加していきます。OSはUbuntu Server 17.10です。

最初にSwapファイルを作成します。今回は、1GB(ブロックサイズ2Mを512回コピー)のSwapファイルを作成します。また、作成したファイルは一般ユーザーに読み取られないよう権限設定します。

$ sudo mkdir /var/swap
$ sudo dd if=/dev/zero of=/var/swap/1G-00 bs=2M count=512
$ sudo chmod 600 /var/swap/1G-00
$ ls -lh /var/swap/1G-00
-rw------- 1 root root 1.0G Feb 12 13:40 /var/swap/1G-00

/dev/zero でコピーされたSwapファイルをSwap領域として利用可能にして、実際にOSに組み込みます。

sudo mkswap /var/swap/1G-00
sudo swapon /var/swap/1G-00

実際にSwapが組み込まれていることを確認します。

$ free -m
              total        used        free      shared  buff/cache   available
Mem:            484         452           8           0          23          16
Swap:          1023         762         261

swaponでOSにSwapを追加しただけでは再起動時には追加されないので、/etc/fstabで起動時にSwapが追加されるよう設定しておきます。最終行が追加行になります。

$ sudo vim /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type><options>       <dump>   <pass>
# / was on /dev/vda1 during installation
UUID=8c0b9e62-9877-4362-be81-cb2fc823a0d6 / ext4 errors=remount-ro 0 1
/dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0 0
/var/swap/1G-00 none            swap    rw              0        0

Bitcoinのコンパイルに成功

Swapの追加によりBitcoinのコンパイルにも無事成功しました。SwapはHDD、SSDといったストレージを仮想メモリとして利用します。HDDの時代にはOSがSwapを使い出すと途端にパフォーマンスが落ちていました。Vultrでは高速なSSDをSwapとして利用できるため、パフォーマンスの低下もだいぶ抑えられます。もちろん、実メモリ内で全て処理できることに越したことはありませんが、メモリ不足でプログラムがコンパイルできないなど緊急避難的には有効ですな手段です。

Vultrオススメです!

東京リージョンでは$2.5/moのインスタンスはSold Outのようですが、(2018年2月12日現在)New Yorkリージョンでは契約可能です。作業用、監視用のサーバーを格安でインターネット上に確保したい方には本当にオススメです。

Vultr使ってみよう!?という方は以下リンクから登録お願いします。登録して頂いた方と私に$10チャージされます。

$2.5/mo インスタンスの維持にご協力頂けますと幸いです。

スポンサーリンク







  • このエントリーをはてなブックマークに追加