Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
Ubuntu 26.04 で swap を無効化する場合は、現在有効な swap を停止するだけでなく、再起動後に自動で有効化されないように /etc/fstab も確認します。特に Kubernetes ノードでは swap が有効だと kubelet の前提と合わないため、事前準備として扱うことがあります。
この記事では、swap 状態の確認、swapoff -a による一時停止、/etc/fstab のバックアップ、/swap.img 行のコメントアウト、再起動後確認、戻し方を扱います。
swap を無効化する前に確認すること
- swap を無効化してもメモリ容量に余裕があること。
- Kubernetes など、swap 無効化を前提にする用途かどうか。
- 既存の
/etc/fstabをバックアップすること。 - swapfile なのか、swap パーティションなのかを確認すること。
現在の swap 状態を確認する
まず現在有効な swap とメモリ使用状況を確認します。swapon --show に何も表示されなければ、swap は有効ではありません。
swapon --show
free -h
cat /proc/swapsfstab の swap 行を確認する
再起動後に swap が戻るかどうかは、/etc/fstab の登録内容に依存します。Ubuntu のインストール構成では /swap.img が登録されていることがあります。
grep -nE '^[^#].*\s+swap\s+' /etc/fstab || true
grep -n '/swap.img' /etc/fstab || true現在の swap を停止する
swapoff -a は現在有効な swap を停止します。この操作だけでは再起動後の永続設定は変わりません。
sudo swapoff -a
swapon --show
free -hfstab をバックアップする
/etc/fstab は起動時のマウントや swap に影響します。変更前にバックアップを取得し、戻せる状態にします。
sudo cp -a /etc/fstab /etc/fstab.bak.$(date +%Y%m%d%H%M%S)
sudo findmnt --verify --verboseswap.img の行をコメントアウトする
Ubuntu の既定 swapfile が /swap.img none swap sw 0 0 として登録されている場合は、その行をコメントアウトします。
sudo sed -i -E 's|^(/swap\.img[[:space:]]+none[[:space:]]+swap[[:space:]]+sw[[:space:]]+0[[:space:]]+0)$|# \1|' /etc/fstab
grep -n '/swap.img' /etc/fstab || true
sudo findmnt --verify --verboseswap パーティションの場合
swap がパーティションとして登録されている場合は、UUID=... の swap 行を確認し、対象が本当に swap であることを確認してからコメントアウトします。
sudo blkid | grep -i swap || true
grep -nE '^[^#].*\s+swap\s+' /etc/fstab || true再起動後に確認する
永続的に無効化できたかは再起動後に確認します。swapon --show が空で、free -h の Swap が 0 になっていることを見ます。
sudo rebootswapon --show
free -h
cat /proc/swaps
grep -nE '^[^#].*\s+swap\s+' /etc/fstab || truesystemd の swap unit を確認する
環境によっては systemd の swap unit が見える場合があります。再起動後に不要な swap unit が active になっていないか確認します。
systemctl --type=swap --all
systemctl status swap.target --no-pager戻す場合
swap を戻す場合は、バックアップから /etc/fstab を戻すか、コメントアウトした swap 行を有効化してから swapon -a を実行します。
sudo cp -a /etc/fstab.bak.YYYYMMDDHHMMSS /etc/fstab
sudo swapon -a
swapon --show
free -hKubernetes ノードでの位置づけ
Kubernetes ノードでは、swap 無効化は kubelet や container runtime の準備と一緒に確認します。swap だけを止めても、カーネルモジュール、sysctl、container runtime、kubeadm の準備が未完了であればノードとしては使えません。
swapon --show
systemctl status kubelet --no-pager
crictl info確認項目
swapon --showが空であること。/etc/fstabに有効な swap 行が残っていないこと。findmnt --verifyが通ること。- 再起動後も swap が復活していないこと。
- swap 無効化が必要な用途とメモリ容量の前提が合っていること。
まとめ
Ubuntu 26.04 で swap を無効化する場合は、swapoff -a で現在の swap を止め、/etc/fstab の swap 行をコメントアウトして再起動後も戻らないようにします。Kubernetes ノードでは重要な事前準備ですが、メモリ容量と用途を確認したうえで、再起動後の swapon --show まで確認することが大切です。

