docker-machineのswap領域を一時的に増やす(docker toolbox のホストOSのswapを増やす)
2019/11/13
2020/02/12
メモリを沢山使うツールを実行している時に、「Killed]というメッセージを残してOMM-Killerに殺されてしまう現象が発生した。 一時的にでも使えるメモリが増えればよかったので、swap領域を拡張してみることにしました。
現状の確認
$ free -m
total used free shared buff/cache available
Mem: 1997 193 1756 22 46 1752
Swap: 1423 756 666
ファイル作成
最初は、dd コマンドでファイル作成していたが、追加したswap領域を使い始めたとたんにフリーズする現象が発生していた。fallocateコマンドでファイル作成するようにしたところ、追加したswap領域を使ってもフリーズしなくなった。 ddコマンドとfallocateコマンドの違いを調べてみましたが、fallocateは即時に実領域を確保しないということらしいですが、詳細わかりません。
$ sudo fallocate -l 500M /var/swap.img
$ sudo mkswap /var/swap.img
$ sudo chmod 600 /var/swap.img
ループバックデバイスへの割り当て
$ sudo losetup -f /var/swap.img
$ sudo losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO
/dev/loop0 0 0 0 0 /var/swap.img 0
swap 開始
$ sudo swapon /dev/loop0
確認
$ free -m
total used free shared buff/cache available
Mem: 1997 194 1241 536 561 1236
Swap: 1935 754 1181