Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。
一、增加swap空间
1.查看当前系统swap空间
root@VM-4-10-ubuntu:~/data# free -h
total used free shared buff/cache available
Mem: 1.9Gi 660Mi 441Mi 14Mi 884Mi 1.1Gi
Swap: 0B 0B 0B
2.增加swap文件
root@VM-4-10-ubuntu:~/data# cd /usr
root@VM-4-10-ubuntu:/usr# ls
bin games include lib lib32 lib64 libexec libx32 local sbin share src
root@VM-4-10-ubuntu:/usr# mkdir swap
root@VM-4-10-ubuntu:/usr# cd swap
root@VM-4-10-ubuntu:/usr/swap# ll
total 8
drwxr-xr-x 2 root root 4096 Sep 13 13:17 ./
drwxr-xr-x 15 root root 4096 Sep 13 13:17 ../
root@VM-4-10-ubuntu:/usr/swap# ls
root@VM-4-10-ubuntu:/usr/swap# dd if=/dev/zero of=/usr/swap/swapfile1 bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 11.8064 s, 182 MB/s
bs=1M 表示写入的每个块的大小为1M,count=2048 表示总共建立2048M的swap文件
3.查看创建文件大小
du -sh /usr/swap/swapfile1
4.将目标文件标识为swap分区文件
mkswap /usr/swap/swapfile1
5.激活swap文件
swapon /usr/swap/swapfile1
6.修改/etc/fstab文件,在末行增加以下内容
vim /etc/fstab
/usr/swap/swapfile1 swap swap defaults 0 0
7.查看是否挂载成功
root@VM-4-10-ubuntu:~# swapon -s
Filename Type Size Used Priority
/usr/swap/swapfile1 file 2097148 294872 -2
二、删除swap空间
1.关闭swap
swapoff /usr/swap/swapfile1
2.修改/etc/fstab文件,删除以下内容
/usr/swap/swapfile1 swap swap defaults 0 0
三、修改swappiness设置swap的使用时机
1.查看swap使用比例情况
cat /proc/sys/vm/swappiness
0意味着“在任何情况下都不要发生交换”。
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面
2.临时修改使用比例
sysctl vm.swappiness=60
内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。
注意:临时修改后,重启操作系统会重置默认值。
3.永久修改使用比例
vim /etc/sysctl.conf
在sysctl.conf文件中最后一行加入
vm.swappiness=60