Azure上のLinuxのSwapがデフォルトオフの件
前置き
de:codeで聞いたTIPS。念のため自分の所のテスト機を調べたら
主題の通り、Swapoffだったっぽいのでメモ。
細かい話
Azure上のLinuxには必ず、Azure用エージェントをインストールするように
なっている。
で、そのAzure用エージェントがLinux起動時に自動的にディスクをマウントしている。
と言うことは起動時にはディスクがないのでSwapも設定できない。
(起動時のシーケンスがよく分からんけど、PXEみたいな雰囲気で起動してる?)
というわけで、ディスクをマウントした後であれば、Swapを設定できるものの、
デフォルト値では、Swapはオフになっているので、設定を変更すべき。とのこと。
#スピーカー氏は、NoSwapという漢らしい設定ですが、やめて下さい。
#YesSwapで使ってください。っていうなかなかナイスな表現をしてた。
どうすればいいか
/etc/waagent.conf というファイルがあるのでそこを編集。
以下のような行を確認する。うちの環境では、それぞれ n , 0 と設定されていた。
# Create and use swapfile on resource disk.
ResourceDisk.EnableSwap=y
# Size of the swapfile.
ResourceDisk.SwapSizeMB=1024
やってみた。
編集前
total used free shared buff/cache available
Mem: 1678 343 179 88 1154 1010
Swap: 0 0 0
-------------------
reboot
-------------------
total used free shared buff/cache available
Mem: 1678 205 252 8 1220 1263
Swap: 1023 0 1023
と言うわけで、ちゃんとSwapが確保された。
めでたしめでたし。
2015/07/28 追記
セッション動画が一般公開されたのでURLを追記しておきます。
https://channel9.msdn.com/events/de-code/decode-2015/CDP-012