Ubuntu 資料一覧
swap領域拡張手順(ファイル割当)
2016/09/12更新
対応バージョン: 16.04
swap領域を拡張する手順を示す。
手段としてはサイズ変更可能なファイルシステムを使用したり新たにディスクパーティションを切り出す方法など様々あるが、ここではOS稼働中でも作業可能なファイルを用いた方法を用いる。
現状確認
まず現在のswapの状態を確認しておく。
% cat /etc/fstab : <file system> <mount point> <type> <options> <dump> <pass> : UUID=xxxxx-xxx-xxxx none swap sw 0 0 : % swapon -s Filename Type Size Used Priority /dev/mmcblk0p3 partition 4084732 56704 -1 % free -h total used free shared buff/cache available Mem: 3.8G 2.1G 162M 500M 1.5G 941M Swap: 3.9G 55M 3.8G
swapファイル作成
通常のファイルをswapファイルとして設定する。ここでは2GBのファイルを作成する。
% sudo fallocate -l 2G /swapfile % ls -lh /swapfile -rw-r--r-- 1 root root 2.0G 9月 12 22:10 /swapfile
このファイルをrootにしか読み書きできないようにパーミッション変更する。
% sudo chmod 600 /swapfile % ls -lh /swapfile -rw------- 1 root root 2.0G 9月 12 22:10 /swapfile
ファイルをswap領域として設定する。
% sudo mkswap /swapfile Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) ラベルはありません, UUID=e9036b95-b824-4585-a995-5426de792c04
swap割り当て
先ほど作成したファイルをswap領域として割り当てる。
% sudo swapon /swapfile
これで既存のswap領域が拡張される。
% swapon -s Filename Type Size Used Priority /dev/mmcblk0p3 partition 4084732 56704 -1 /swapfile file 2097148 0 -2 % free -h total used free shared buff/cache available Mem: 3.8G 2.1G 162M 500M 1.5G 941M Swap: 5.9G 55M 5.9G
恒久設定
上記のswaponコマンドでswapを拡張しただけだとOSを再起動した際に元の割当に戻ってしまうので恒久的に割り当てたい場合は/etc/fstabで指定する。
% sudo cp -p /etc/fstab{,.bak} % echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab /swapfile none swap sw 0 0
swap割り当て解除
割り当てたswapを解除するのは簡単で、swapoffコマンドで解除したいファイルを指定するだけでよい。
/etc/fstabを変更していた場合は元に戻す。
swapファイルは再利用もできるが、不要であれば削除してよい。
% sudo swapoff /swapfile % swapon -s Filename Type Size Used Priority /dev/mmcblk0p3 partition 4084732 56704 -1
/etc/fstabを変更していた場合
% sudo mv /etc/fstab{.bak,}
swapファイルが不要な場合
% sudo rm /swapfile