之前用树莓派3b编译奥比中光的ros包时,常常编译到一半树莓派就卡死,其原因是默认的物理内存1GB是不够用的,常常造成卡机死机等现象,这里需要添加SWAP扩展空间,其实就是当系统内存不足时会用硬盘上SWAP分区作为虚拟内存。
由于我的microSD卡是32GB的,所以可以多分配一些给SWAP,所以分配4GB给SWAP空间。具体步骤如下:
查看swap空间大小
输入free -m
显示
1 | total used free shared buff/cache available |
关闭所有交换分区
sudo swapoff -a
进入/var
cd /var
创建swap分区的文件
sudo dd if=/dev/zero of=swap bs=1M count=4096
该过程需要耐心等待
显示结果
1 | 4096+0 records in |
格式化交换分区文件
sudo mkswap swap
启用swap分区文件
sudo swapon swap
查看swap空间
free -m
显示
1 | total used free shared buff/cache available |
说明4G的swap空间已经建立好了
添加开机启动
如果不添加开机启动,则重启后又默认恢复到最初的swap,需要通过指令sudo swapon swap
重新启用,为此我们将其添加到开机启动。
sudo vim /etc/fstab
添加/var/swap swap swap defualt 0 0
重启检测
重启后,free -m
,显示swap为4g的空间即为成功。