前言
安装Linux系统之后,默认是没有swap分区,那么我们怎样增加和删除swap分区。
配置swap步骤
1) 内存占用情况
1 | free -h |
Swap: 0B 0B 0B
2) 通过dd命令增加swap,增加一个2g的swap空间
1 | dd if=/dev/zero of=/var/swap bs=1024 count=2048000 |
成功提示
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 17.6327 s, 119 MB/s
3) 创建swap文件
1 | mkswap -f /var/swap |
成功提示
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=77bddc86-9f1c-4685-aefb-048c07b8f803
4) 加载该文件:
1 | swapon /var/swap |
成功提示
swapon: /var/swap: insecure permissions 0644, 0600 suggested.
5) 看看swap是否生效
1 | free -h |
成功提示
Swap: 2.0G 0B 2.0G
或者
1 | swapon -s |
6) 查看swap当前状态:
1 | cat /proc/swaps |
成功提示
Filename Type Size Used Priority
/var/swap file 2047996 0 -2
7) 添加至/etc/fstab
1 | vim /etc/fstab |
在文本的最后添加
1 | /var/swap swap swap defaults 0 0 |
8) 如果不再需要swap,可以清理该分区:
1 | swapoff /var/swap |
swap 什么时候使用
在Linux里面,swappiness
的值的大小对如何使用swap分区是有着很大的联系的。
swappiness=0
的时候表示最大限度使用物理内存,然后才是 swap空间swappiness=100
的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面
两个极端,对于 CentOS默认为0,Ubuntu的默认为60,建议修改为10。
具体这样做:
1) 查看你的系统里面的swappiness
1 | cat /proc/sys/vm/swappiness |
不出意外的话,你应该看到是0
2) 修改swappiness值为10
1 | sudo sysctl vm.swappiness=10 |
但是这只是临时性的修改,在你重启系统后会恢复默认的值,所以,还要做一步:
1 | vi /etc/sysctl.conf |
在这个文档的最后加上这样一行:
1 | vm.swappiness = 10 |
然后保存,这样重启之后配置也不会失效。