メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter

EC2 では t2 シリーズを選択するケースがけっこう多い気がします。

開発用途の場合はきっとそうなるだろうし、本番用途でもそこそこの規模なら t2 で十分って判断もありそうです。

が、t2 シリーズで Amazon Linux を構築してみると、デフォルトではスワップが存在してないハズです(よね?きっと)。

スワップを常用しちゃうような負荷ならもっとスペックを上げるべきだと思いますが、そうじゃなくてもスワップがナシっていうのはかなり不安です。

というわけで、OS 起動時にスワップ領域を作るスクリプトです。

ネット上に色々出てた情報を参考にしています。感謝です。

# vi /etc/rc.local

↓以下を追記(コメントに日本語が入っているので文字コードに注意すべし)

# enable swap #####################

# スワップファイル名
SWAPFILENAME=/swap.img

# 既存のファイルを削除
rm $SWAPFILENAME


# 搭載メモリ(KB)取得
MEMSIZE=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'`

# メモリ量に応じてスワップサイズを算出
if [ $MEMSIZE -lt 2097152 ]; then
	SIZE=$((MEMSIZE * 2))
elif [ $MEMSIZE -lt 8388608 ]; then
	SIZE=${MEMSIZE}
else
	SIZE=8388608
fi
#echo $SIZE

# 空き容量(KB)を取得
AVAILABLE=`/bin/df / | /usr/bin/tail -1 | /bin/sed -r 's/^\S+\s+\w+\s+\w+\s+(\w+)\s+\S+*%\s+\/$/\1/'`
#echo $AVAILABLE

# スワップが大き過ぎないよう調整(1Gは空けとくようにする)
if [ $SIZE -gt $((AVAILABLE - 1048576)) ]; then
 	SIZE=$((AVAILABLE - 1048576))
fi

# 小さ過ぎるようなら作らない
if [ $SIZE -gt 10000 ]; then
	fallocate -l ${SIZE}k $SWAPFILENAME && mkswap $SWAPFILENAME && swapon $SWAPFILENAME
fi
  • 環境によってサイズを調整するようになっています。吊るしの状態で色々な環境に使えるようしてみました。が、固定であるほうが望ましいような場合には適宜変更してください。
  • dd ではなく fallocate を使うことで、ストレージアクセスを最小限にして、無駄に課金されないよう考慮しています。

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 905, today: 4, yesterday: 6
Princeps date: 2018-01-11 (Thu) 10:03:04
Last-modified: 2018-01-11 (Thu) 10:03:04 (JST) (530d) by takatsuka