腾讯云CentOS7.4服务器添加SWAP分区
Posted 学无止境,一点一滴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯云CentOS7.4服务器添加SWAP分区相关的知识,希望对你有一定的参考价值。
自己的腾讯云服务器搭建的zabbix监控中,提示Lack of free swap space
腾讯的官方说明在这:
https://cloud.tencent.com/document/product/362/3597
查看机器上面状态如下:
Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件。前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕,这里我们只能采用后者。
服务器的物理内存是2G的,按照1~2倍原则,我将swap文件设置为4GB。
新建的4G swap路径:/mnt/swap(路径和交换文件名称可以自定义)
步骤如下:
1、创建用于交换分区的文件:dd if=/dev/zero of=/mnt/swap bs=4096 count=1024000(这条命令运行完后稍等一会)
2、设置交换分区文件:mkswap /mnt/swap
3、启用交换分区文件:swapon /mnt/swap
注:dd创建的文件总大小等于bs * count。本例是4096k * 1024000=4G。
注释:
dd:可以创建指定大小(4G)的文件
if:指定输入设备
/dev/zero:无限0资源
of:指定输出设备
bs:每个块的大小
count:块的数量
=========以下操作能确保 swap 更安全,且重启后有效===========
查看 vim /etc/rc.local 如果有 swapoff -a 修改为 swapon -a,我这里是没有这个的,就不管了。
vim /etc/rc.local
设置自动挂载,打开文件:vim /etc/fstab
把下面命令添加到最下面的空行。
/mnt/swap swap swap defaults 0 0
查看状态
swapon -s
查看内存状态
free -m
当不需要交换文件时,可以使用以下步骤将其删除:
禁用交换文件:swapoff /mnt/swap
删除交换文件:rm -f /mnt/swap
编辑vim /etc/fstab文件,删除以下内容,在系统下次引导时就不会启用交换文件了。
/mnt/swap swap swap defaults 0 0
权限设置:
chown root:root /mnt/swap
chmod 0600 /mnt/swap
查看 swappiness 值。
cat /proc/sys/vm/swappiness
如果为 0 ,则将其改为 10,意思是空闲内存少于 10% 时才使用 SWAP 分区
sysctl vm.swappiness=10
永久设置 swappiness,如果该文件里没有,则打开 vim /etc/sysctl.conf 配置文件追加 vm.swappiness = 10
重启,那些永久设置项就生效了。
swappiness=0 的时候表示最大限度使用物理内存,然后才是 swap 空间,swappiness=100 的时候表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间里面。
参考文章:
以上是关于腾讯云CentOS7.4服务器添加SWAP分区的主要内容,如果未能解决你的问题,请参考以下文章