Linux环境下swap配置方法

一、前言

安装Linux系统之后,默认是没有swap分区,那么我们怎样增加和删除swap分区。

二、配置swap步骤

1、内存占用情况

[root@5765267388_hax ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           750M         29M        652M        892K         68M        716M
Swap:            0B          0B          0B

2、通过dd命令增加swap,增加一个1G的swap空间

[root@5765267388_hax ~]# dd if=/dev/zero of=/var/swap bs=1024 count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 13.8395 s, 75.8 MB/s

3、创建swap文件

[root@5765267388_hax ~]# mkswap -f /var/swap
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=28d21875-3020-4595-aa9a-1285b3349976

4、加载该文件

[root@5765267388_hax ~]# swapon /var/swap
swapon: /var/swap: insecure permissions 0644, 0600 suggested.

5、查询swap是否生效

[root@5765267388_hax ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           424M         45M        5.1M        800K        374M        366M
Swap:          1.0G         25M        1.0G

或者

[root@5765267388_hax ~]# swapon  -s
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       131064  26168   -2
/var/swap                               file    1023996 0       -3

6、查看swap当前状态

[root@5765267388_hax ~]# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       131064  26168   -2
/var/swap                               file            1023996 0       -3

7、添加至/etc/fstab

[root@5765267388_hax ~]# vi /etc/fstab

在文本的最后添加

/var/swap swap swap defaults 0 0

8、如果不再需要swap,可以清理该分区

[root@5765267388_hax ~]# swapoff /var/swap

三、swap在什么时间使用

在Linux里面,swappiness值的大小对于系统如何使用swap分区有着很大的关系。

swappiness=0表示最大限度使用物理内存,然后再使用swap空间。

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

两个极端,对于CentOS默认为0,Ubuntu的默认为60,建议修改为10。

具体这样做:

1、查看操作系统里面的swappiness

[root@5765267388_hax ~]# cat /proc/sys/vm/swappiness
30

2、修改swappiness值为10

[root@5765267388_hax ~]# sudo sysctl vm.swappiness=10
vm.swappiness = 10

3、但是这只是临时性的修改,在你重启系统后会恢复默认的值,所以,还要做一步:

[root@5765267388_hax ~]# vi /etc/sysctl.conf

在这个文档的最后加上这样一行:

vm.swappiness = 10

然后保存,这样重启之后配置也不会失效。