Azure上のLinuxのSwapがデフォルトオフの件

前置き

de:code で聞いた TIPS。念のため自分の所のテスト機を調べたら

主題の通り、Swapoff だったっぽいのでメモ。

細かい話

Azure 上の Linux には必ず、Azure 用エージェントをインストールするように

なっている。

で、その Azure 用エージェントが Linux 起動時に自動的にディスクをマウントしている。

と言うことは起動時にはディスクがないので Swap も設定できない。

(起動時のシーケンスがよく分からんけど、PXE みたいな雰囲気で起動してる?)

というわけで、ディスクをマウントした後であれば、Swap を設定できるものの、

デフォルト値では、Swap はオフになっているので、設定を変更すべき。とのこと。

#スピーカー氏は、NoSwap という漢らしい設定ですが、やめて下さい。

#YesSwap で使ってください。っていうなかなかナイスな表現をしてた。

どうすればいいか

/etc/waagent.conf というファイルがあるのでそこを編集。

以下のような行を確認する。うちの環境では、それぞれ n , 0 と設定されていた。

1
2
3
4
5
<code class="language-apache:/etc/waagent.conf">    # Create and use swapfile on resource disk.
ResourceDisk.EnableSwap=y

# Size of the swapfile.
ResourceDisk.SwapSizeMB=1024

やってみた。

編集前

1
2
3
4
5
6
7
8
9
10
11
`              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