Linux

AmazonLinuxでEC2起動時にスワップ領域の割り当てに失敗

EC2 のインスタンスを再起動した際に、スワップ領域の割り当てに失敗していたので調査してみました。

起動時に自動で割り当て

EC2 起動時のスワップ領域割り当てですが、これまでは以下の記事を参考に、/etc/rc.local を使って行っていました。

しかし、最近になって、EC2 インスタンス起動時にスワップ領域が割り当てられなくなっていたので原因を調べてみました。

これまでは、問題なく動作していたので、AmazonLinux の OS イメージファイルの違いや、カーネルのバージョンによる影響なのかなっと疑っています。

スクリプトの実行確認

実際に、メモリ計算部分を単独で実行してみると、どうやら、メモリ計算式の演算部分でエラーが出ているようです。t2.micro のインスタンスで確認しています。

これを実行してみると。

スクリプトエラーの原因調査

ちなみに、現在のカーネルのバージョンは以下の通り。

う~ん、変数展開の部分で怒られているようですが、パっと解決策が思いつかなかったので、純粋に演算させることにしました。

まだまだ、シェルの勉強不足です・・・。