Linux 修改swap虚拟内存

发布时间 2023-09-13 13:55:55作者: zzzlight

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文件中最后一行加入