Linux学习24-腾讯云服务器开启swap分区

前言

最近有小伙伴买的腾讯云的1核1G入门级服务器,发现部署的服务多了后,会自动停掉一些docker的的容器。 新买的腾讯云主机没有提供Swap分区,理由是由于主机经常因为内存使用率过高,频繁使用Swap,导致磁盘IO过高,服务器整体性能反而下降. 不过用户依然可以使用Swap文件的方式添加Swap分区。

启动swap分区

先用free -m查看当前分区情况,swap分区显示为0

free -m

代码语言:javascript
复制
[root@VM_0_2_centos ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3789         858        1579           0        1351        2638
Swap:             0           0           0

新建一个目录用于交换分区的文件,比如我的目录/root/swap, 创建一个2G的文件

dd if=/dev/zero of=/root/swap bs=2048 count=1048576

代码语言:javascript
复制
[root@VM_0_2_centos ~]# dd if=/dev/zero of=/root/swap bs=2048 count=1048576
1048576+0 records in
1048576+0 records out
2147483648 bytes (2.1 GB) copied, 15.3681 s, 140 MB/s

把这个文件设置为交换分区文件

mkswap /root/swap

代码语言:javascript
复制
[root@VM_0_2_centos ~]# mkswap /root/swap
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=0d63d460-a558-4a60-9a7e-94e78be2dfc5

修改文件权限为600

chmod 600 /root/swap

启用交换分区文件

swapon /root/swap

开机自启动

设置开机自启动,需修改修改文件/etc/fstab ,在最后添加一行 /root/swap swap swap defaults 0 0

代码语言:javascript
复制
[root@VM_0_2_centos ~]# vi /etc/fstab
[root@VM_0_2_centos ~]# cat /etc/fstab 
UUID=4b499d76-769a-40a0-93dc-4a31a59add28            /                    ext4       noatime,acl,user_xattr 1 1
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/swap                 swap                swap       defaults              0 0
/root/swap            swap                swap       defaults              0 0
[root@VM_0_2_centos ~]#

删除swap分区

删除swap分区

代码语言:javascript
复制
swapoff /root/swap
rm -f /root/swap