前言
最近有小伙伴买的腾讯云的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