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