Microsoft Azure でのLinux仮想マシンでは、初期ではswap領域が設定されていません。CentOSベースであるOpenLogic7.0 におけるswap領域の設定方法を記載しています。
初期状態
下記のとおり、初期状態ではswapは設定されていません。
$ cat /proc/swaps Filename Type Size Used Priority $ swapon -s $ free total used free shared buffers cached Mem: 1719016 519920 1199096 90368 90596 169160 -/+ buffers/cache: 260164 1458852 Swap: 0 0 0 $
それでは、以降でswap領域を設定します。
waagent
Azureでは、waagent(Windows Azure Linux Agent)というVMエージェントが動いていますが、swap領域設定もwaagentにて行います。
waagentの設定ファイル(Windows Azure Linux Agent Configuration ファイル)は「/etc/waagent.conf」です。
swap設定に関する設定箇所は下記になります。
# Create and use swapfile on resource disk. ResourceDisk.EnableSwap=n # Size of the swapfile. ResourceDisk.SwapSizeMB=0
swap領域を有効にして、swapサイズを4GBにする場合は、下記のように設定変更します。
# Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Size of the swapfile. ResourceDisk.SwapSizeMB=4096
設定変更後は、OSを再起動します。
OS再起動後、swap設定がされている事が確認できます。
$ cat /proc/swaps Filename Type Size Used Priority /mnt/resource/swapfile file 4194300 0 -1 $ swapon -s Filename Type Size Used Priority /mnt/resource/swapfile file 4194300 0 -1 $ free total used free shared buffers cached Mem: 1719016 1621504 97512 8448 3088 1404368 -/+ buffers/cache: 214048 1504968 Swap: 4194300 0 4194300 $
ちなみに、今回のwaagentバージョンは「2.0.8」でした。
$ waagent -version WALinuxAgent-2.0.8 running on centos $
Azure Linux エージェント ユーザーガイド に、waagentの設定値に関する説明が記載されていますので、見ておくと良いかと思います。swap設定以外にも、幾つかの項目が存在します。