Raspberry Pi swap の無効化

Raspberry Pi は、おそらく多くの場合がSDカードで起動、動作していると思います。

SDカードは安価(単位容量あたりは決して安くはないですが)で手軽な分、読み書きが遅かったり、ある日突然使えなくなったりします。(怖いです)

今回は、Raspberry Pi のOS、Raspberry Pi OS が常時読み書きしようとする、swapを無効にしようと思います。

swapを無効にすることによって、SDカードの読み書きを減らし、SDカードへの負担を減らそうということです。

普通に使用している分にはswapは使用されずに物理メモリで動作しているようですので、容量削減、SDカードの長寿命化の効果があると思います。

swapとは、windowsなどでいう仮想メモリのことです。アプリケーションを多く動かしたりして物理メモリの残量が少なくなった場合、使用頻度の少ないメモリ領域を仮想メモリにコピーして、物理メモリの使用量を減らす仕組みです。(大まかにいうと)

 

 

1. swapの使用量の確認

  LXTerminalにて、以下のコメントを入力します。

free -h

  おそらく、2行で表示されると思います。

  1行目の「Mem:」で始まる内容は物理メモリです。

  2行目の「Swap:」で始まる内容がswapについての情報。

  初期状態では、「Swap:」に続く1つ目の数値は「total」で、「99Mi」となっていると思います。99MB使用できるという意味です。

  2つ目の数値が「used」。使用している量を示します。おそらく、普通の作業をしていたら、「0B」となっているかと思います。使用していない、ということです。

2. swapの無効化

  LXTerminalで以下のコマンドを実行していきます。

  最後の4行目を実行すると「lines 1-11/11」のような白黒反転したメッセージが表示されるので、「CTRL + C」で終了します。

sudo swapoff --all
sudo systemctl stop dphys-swapfile
sudo systemctl disable dphys-swapfile
systemctl status dphys-swapfile

3. swapが無効化されているかの確認

  もう一度、swapの使用量を確認するコマンドを実行します。

free -h

  「swap:」の1つ目の数字が「0」となっていると思います。

  これで、swapが無効化されえました。

4. swapの有効化

  メモリ使用量の大きいアプリケーションを動かすなどで、swapが必要となることもあるかもしれません。

  swapを再度有効にする方法です。

  以下のコマンドを実行します。実行後、「free -h」コマンドで確認してください。

  最後の3行目を実行すると「lines 1-11/11」のような白黒反転したメッセージが表示されるので、「CTRL + C」で終了します。

sudo systemctl start dphys-swapfile
sudo systemctl enable dphys-swapfile
systemctl status dphys-swapfile