• 陪伴互联网运营小白共同探索成长,与IT爱好者共享探索乐趣
  • 建站只为分享,欢迎在PC端文章面打赏支持
  • 使用Ctrl+D 可收藏本站

阿里云ECS没有交换分区swap怎么办?解决小内存安装mysql5.5+的问题

好玩有趣 陆子方 5年前 (2020-04-19) 1896次浏览 0个评论 扫描二维码
文章目录[隐藏]

子方有话

swap不是万能的,但没有swap万万不行!这一点上,阿里云做的不是很好。这也再一次印证了,厂商的默认镜像,都有你不知道而且数不清的坑!当时子方新开服务器,就简单的安装个lnmp网络环境,使用 mysql5.7+php7.4 ,却因为内存不够,安装进程一直被kill掉。正确的安装方式,子方已经整理出来了:阿里云ECS小内存通过lnmp一键包安装Mysql5.7全过程

swap交换分区与阿里云

有时候虽然配置了swap分区但是一直没有用到swap分区,阿里云典型案例!需要设置swappiness值!阿里云ecs默认是不使用swap,就算你增加了虚拟内存,也基本不会调用!

在子方下面的截图,就能看到,物理内存已经爆炸了,swap丝毫不动。

cat /proc/sys/vm/swappiness #查看swappiness值
sysctl vm.swappiness=60 #临时调整swappiness值为60
#永久调整方法,子方这边需要重启才正常调整,也有一个命令用于更新的,不需要重启
nano /etc/sysctl.conf
vm.swappiness = 20

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60

阿里云ECS没有交换分区swap怎么办?解决小内存安装mysql5.5+的问题

创建swap的方法

fallocate -l 4G /swap #创建交换分区文件
chown root:root /swap  #设置交换分区所属
chmod 0600 /swap #设置交换分区权限
mkswap /swap #设置交换分区文件
swapon /swap #启用交换分区文件
echo '/swap swap swap defaults 0 0' >> /etc/fstab #挂载交换文件开机启动

一般建议swap交换分区是内存的1~2倍,编译过程中需要内存大,就多给一点。子方在编译mysql5.7的时候,swap交换分区在高峰时使用了将近1G。有朋友说。MySQL 8 编译过程中,实际需要 6G 以上的内存。


子方有料原创丨转载请注明原文链接
期待您的评论或捐赠,这是最好的鼓励和支持!
喜欢 (0)
[赞赏使我快乐]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到