概要
ev3に搭載されているRAMは合計で64MBで,free
コマンドでメモリーの容量はすでに作られているスワップ領域と合わせメモリー量は152MB.これでは少なすぎる(apt-get install
などで落ちることがしばしば・・・)のでもっと増やしてやりましょう.
スワップ領域とは
スワップ領域とは,搭載されている物理メモリがいっぱいになったときに,使っていないデータを退避させるための領域.本記事ではスワップ領域はSDカード上に作成します.
実際に作ってみる
今回は512MBのスワップ領域作ってみたいと思います.
まずはスワップ領域となるファイルを作る
sudo dd if=/dev/zero of=/var/swap bs=1M count=512
実行権限をつける
sudo chmod 644 /var/swap
スワップ領域の作成
sudo mkswap /var/swap
スワップ領域を有効にする
sudo swapon /var/swap
Before → After
freeコマンドのTotalに表示されている数値がメモリの容量です.
Before
robot@ev3dev:~$ free -h -t
total used free shared buff/cache available
Mem: 56M 15M 1.9M 16K 38M 36M
Swap: 95M 7.7M 88M
Total: 152M 23M 90M
After
robot@ev3dev:~$ free -h -t
total used free shared buff/cache available
Mem: 56M 16M 1.6M 16K 38M 36M
Swap: 601M 7.7M 594M
Total: 658M 23M 595M
再起動後にもスワップ領域がマウントされるように・・・(追記:2020/01/17)
スワップ領域を再起動後に自動でマウントされるように/etc/fstab
を編集します.
まずはev3のターミナルで下のコマンドを入力してテキストエディタを開きます.
ev3上のターミナル
sudo nano /etc/fstab
/etc/fstab
#<file system> <mount point> <type> <options> <dump> <pass>
/dev/mmcblk0p1 /boot/flash vfat defaults,errors=remount-ro,noatime 0 2
/dev/mmcblk0p2 / ext4 defaults,errors=remount-ro,noatime 0 1
proc /proc proc defaults 0 0
tmpfs /run tmpfs nosuid,noexec,size=20M,nr_inodes=4096 0 0
#↓ここから下を追記
/var/swap swap swap defaults 0 0
#↑ここまで
nanoエディタ
はCtrl+oで保存,Ctrl+xで終了することができます.詳しい説明方法はGoogleで調べてください.