一、背景
增加swap空间的原因:Android12代码编译失败,判断是交换空间不足的原因
查看交换空间使用情况的软件:system monitor
二、涉及的命令
相关命令:
- free:查看内存状态命令,可以显示memory、swap、buffer/cache等的大小及使用状况;
- dd:读取,转换并输出数据命令;
- mkswap:设置交换区
- swapon:启用交换区,相当于mount
- swapoff:关闭交换区,相当于umount
查看swap空间大小:
通过查看内存状态命令free
可以获得swap空间大小,正常状况下可使用以下三个命令之一:
free
free -m
free -h
free命令使用实例:
$ free -h
total used free shared buff/cache available
Mem: 13G 3.5G 2.7G 367M 7.4G 9.4G
Swap: 11G 126M 11G
关闭所有交换分区:
swapoff -a
三、增加swap空间步骤
(1)创建swap分区的文件
dd if=/dev/zero of=swapfile bs=1M count=1024
其中bs是每块的大小,count
是块的数量;bs*count
,就是swap文件的大小:这里1M*1024=1G。可以根据需要自行调整。
此外, swapfile
是swap文件的路径,可以根据需求修改。
(2)格式化交换分区文件
mkswap swapfile
这里的路径和之前的路径要对应起来。
(3)启用swap分区文件
swapon swapfile
(4)添加开机启动
修改/etc/fstab
这个文件,添加或者修改这一行:
swapfile swap swap defaults 0 0
注意,路径还是要对应,而且必须是全路径。最后两个是零,不是大写字母O。
此项不是必须的。如果不修改开机启动配置,重启之后的swap空间会重置,之前配置丢失。
参考文献: