パルワールドのサーバー側のメモリ不足をSWAP領域で補う方法 / Ubuntu
パルワールドはサーバー側のメモリを非常に多く使う。4GBや8GBならばレンタルサーバーの代金もわりと安いのだが、16GB以上は月に1万円以上かかる計算となり、なかなかに高額だ。そこでSWAPというコードを使うことでこれを幾分か補強できる。メモリで処理しきれないデータを一時的にSSDやHDDなどのドライブで肩代わりする処理になる。
SWAP領域は16GBほどあれば十分と言われている。同時接続が32人にもなる人気サーバーならばもっと足してもいいのだが、とりあえずは16GBを設定しておけば大丈夫だ。個人のサーバーでそこまで人を集めるのは難しいだろうし。というか人を集めるのが最も難易度が高いと僕は思っている。
コード
まずはswapfileという名前のファイルを作成する。容量は16GBに設定してある。
sudo fallocate -l 16G /swapfile
セキュリティ向上のために最上級のrootユーザーのみが内容を読み取れるように設定する。
sudo chmod 600 /swapfile
mkswapを使って、さきほど作成した領域をswapとして認識させる。
sudo mkswap /swapfile
swapをオンにする。
sudo swapon /swapfile
作成したswap領域を永続化させる。電源が切れても設定が続くように。
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
これで完了だ。ちゃんと認識されているか確認するのも大事なのでfreeを使ってメモリとswap領域を確認する。
free -h
swap領域の容量を変更したい時
レンタルサーバーなどでは最初からswapがonになっていて、容量変更ができないときがあるのでそういう時に使う。swapをオフにする。
swapoff /swapfile