CodeLab技術ブログ

プログラミング技術まとめ

Raspbianのスワップメモリを変更

ラズパイでTensorflowとかKerasを動かそうと思っていろいろやっていたのですが、どうしても途中で止まってしまう。
なんでだろうかといろいろ見てみたら、どうも、バイナリがないのでビルドが走るのだが、メモリが足りない。メモリも1G程度しかなくSWAPもすべて使ってしまう状況でした。

で、SWAPの容量はというと、、、デフォルトだと100Mしかない。これじゃないのと同じw
物理メモリと同程度指定しておくものと思っていたのですが、これだと少なすぎ。
まぁ、SDが痛むから0にしたいところですが今回は必要なので増やしてみました。

SWAPはdphys-swapfileというプログラムで管理されている模様。
/etc/dphys-swapfile のCONF_SWAPSIZEでMB単位で指定するようです。
ということで

CONF_SWAPSIZE=2048

ということで2Gに設定してみました。
以下のコマンドで設定が更新されます。

$ sudo systemctl stop dphys-swapfile
$ sudo systemctl start dphys-swapfile

topコマンドやfreeコマンドで確認すると増えているのがわかります。

因みに、OSが32bitである関係上、2G以上は設定できないらしいです。
CPU自体は64bitなので、早く対応してほしいところですね。