0%

树莓派3b ubuntu18.04-mate扩展swap空间

之前用树莓派3b编译奥比中光的ros包时,常常编译到一半树莓派就卡死,其原因是默认的物理内存1GB是不够用的,常常造成卡机死机等现象,这里需要添加SWAP扩展空间,其实就是当系统内存不足时会用硬盘上SWAP分区作为虚拟内存。

由于我的microSD卡是32GB的,所以可以多分配一些给SWAP,所以分配4GB给SWAP空间。具体步骤如下:

查看swap空间大小

输入free -m

显示

1
2
3
              total        used        free      shared  buff/cache   available
Mem: 912 412 69 19 430 417
Swap: 127 0 127

关闭所有交换分区

sudo swapoff -a

进入/var

cd /var

创建swap分区的文件

sudo dd if=/dev/zero of=swap bs=1M count=4096
该过程需要耐心等待

显示结果

1
2
3
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 265.926 s, 16.2 MB/s

格式化交换分区文件

sudo mkswap swap

启用swap分区文件

sudo swapon swap

查看swap空间

free -m
显示

1
2
3
              total        used        free      shared  buff/cache   available
Mem: 912 414 35 24 462 408
Swap: 4095 0 4095

说明4G的swap空间已经建立好了

添加开机启动

如果不添加开机启动,则重启后又默认恢复到最初的swap,需要通过指令sudo swapon swap重新启用,为此我们将其添加到开机启动。

sudo vim /etc/fstab

添加
/var/swap swap swap defualt 0 0

重启检测

重启后,free -m,显示swap为4g的空间即为成功。