Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。

一、增加swap空间

1.查看当前系统swap空间

1
2
3
4
5
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 1006 753 252 3 32 526
-/+ buffers/cache: 195 810
Swap: 100 0 100

2.增加swap文件

1
2
3
4
5
6
[root@localhost ~]# cd /usr
[root@localhost usr]# mkdir swap
[root@localhost usr]# cd swap
[root@localhost swap]# ll
总用量 0
[root@localhost swap]# dd if=/dev/zero of=/usr/swap/swapfile1 bs=1M count=2048

bs=1M 表示写入的每个块的大小为1M,count=2048 表示总共建立2048M的swap文件

3.查看创建文件大小

1
du -sh /usr/swap/swapfile1

4.将目标文件标识为swap分区文件

1
mkswap /usr/swap/swapfile1

5.激活swap文件

1
swapon /usr/swap/swapfile1

6.修改/etc/fstab文件,在末行增加以下内容

1
2
vim /etc/fstab
/usr/swap/swapfile1 swap swap defaults 0 0

7.查看是否挂在成功

1
2
3
4
5
[root@localhost ~]# swapon -s
Filename Type Size Used Priority
/swap file 266236 266236 -2
/home/swap file 2047996 260500 -3
[root@localhost ~]#

二、删除swap空间

1.关闭swap

1
swapoff /usr/swap/swapfile1

2.修改/etc/fstab文件,删除以下内容

1
/usr/swap/swapfile1 swap swap defaults 0 0

三、修改swappiness设置swap的使用时机

1.查看swap使用比例情况

1
cat /proc/sys/vm/swappiness

0意味着“在任何情况下都不要发生交换”。

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面

2.临时修改使用比例

1
sysctl vm.swappiness=60

内存在使用到100-60=40%的时候,就开始出现有交换分区的使用。

注意:临时修改后,重启操作系统会重置默认值。

3.永久修改使用比例

1
vim  /etc/sysctl.conf

在sysctl.conf文件中最后一行加入

1
vm.swappiness=60