Vultr VPS CentOS 7 添加 SWAP

昨天买了个 Vultr $2.5/月的配置,只有 Miami 可以选。第一个 IP,被干掉了。删掉重建,SSH 能正常连接,不过感觉速度比前阵子 NewYork 的 2.5 配置速度要慢。

安装完 LNMP 1.4 升级 PHP 7.2.3 失败;LNMP 1.5 beta 直接安装 PHP 7.2.3 也是失败。看安装日志,有下面的错误提示:

cc: internal compiler error: Killed (program cc1)
Please submit a full bug report,

Google 一下,有收获。应该是开启了 fileinfo,内存不足,被 Killed。

How to Fix PHP Configure “CC Internal error Killed (program cc1)” Error 提到有两个解决方法:1、增加内存;2、禁用“fileinfo”(./configure 加入 –disable-fileinfo)

方法二没试,方法一,加物理内存是要钱的,不掏钱只能增加虚拟内存——SWAP。

检查 SWAP 空间

swapon -s

返回信息概要是空,表示 Swap 文件不存在。检查才发现 Vultr 这个机子没有 SWAP。

free -m 

看到 SWAP 是 0.

检查文件系统

添加 SWAP 文件前,有必要检查一下文件系统,看是否有足够的硬盘空间来添加 SWAP。

df -hal

检查返回信息,剩余硬盘空间足够即可。

添加并启用 SWAP

使用 dd 命令来创建 SWAP 文件。(378M)

dd if=/dev/zero of=/var/swapfile bs=1024 count=378k

参数解读:

if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
bs=bytes:同时设置读入/输出的块大小为 bytes 个字节
count=blocks:仅拷贝 blocks 个块,块大小等于 bs 指定的字节数。

格式化并激活 SWAP

上面创建好 SWAP 文件需要格式化后才能使用。命令:mkswap /var/swapfile

激活 SWAP 命令:swapon /var/swapfile

再次运行命令:swapon -s

会有类似下面的返回信息

Filename Type Size Used Priority
/var/swapfile file 387068 0 -2

开机/重启自动挂载 SWAP

需要修改 fstab 配置,用 vi 打开 /etc/fstab 文件,在其最后添加如下一行:

/var/swapfile swap swap defaults 0 0

或者直接执行命令添加:echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

然后赋予 SWAP 文件适当的权限:

chown root:root /var/swapfile 
chmod 600 /var/swapfile

合理设置 swappiness

合理设置 Linux SWAP 空间的 swappiness ,可以降低对硬盘的缓存,有效利用物理内存。

Linux 会使用硬盘的一部分做为 SWAP 分区,用来进行进程调度——进程是正在运行的程序;把当前不用的进程调成“等待(standby)”,甚至“睡眠(sleep)”,一旦要用,再调成“活动(active)”,睡眠的进程就会在 SWAP 分区,把内存空出来让给“活动”的进程。

如果内存够大,应当告诉 Linux 不必太多使用 SWAP 分区,可以通过修改 swappiness 参数来设置。swappiness=0 表示最大限度使用物理内存,然后才使用 SWAP;swappiness=100 表示积极使用 SWAP,并且把内存上的数据及时搬运到 SWAP 空间。

命令:cat /proc/sys/vm/swappiness 可以查询系统当前 swappiness 值。我把它设置为 22,可以根据实际修改。

打开 vi /etc/sysctl.conf

文档最后加上一行:

# Search for the vm.swappiness setting. Uncomment and change it as necessary.
vm.swappiness=22

Esc,:wq,保存退出 vi,重启一下系统即可。

参考文章

DigitalOcean - How To Add Swap on CentOS 6

秋水逸冰 - DigitalOcean:如何在CentOS中添加Swap

yungke Li 'blog - 如何在 Vultr 中添加 SWAP 交換分區

小星星 - cc: internal compiler error: Killed解决办法


后记:添加 SWAP 后重新升级 PHP,顺利升级成功。

声明:除非注明,常阳时光文章均为原创
本文地址:https://cyhour.com/662/
转载时必须以链接形式注明原始出处。
Views: 1.5K Tags:  ,  ,  ,  , 

Comments:9

  1. 有入手一枚 是做备用?

    2018.03.19 02:29 # 回复
    1楼
  2. 我有一台 NJ的,不过已经删除了,ping太高了。= =、虽然加上BBR之后好多了,但是还是算了。= =、

    2018.03.19 19:26 # 回复
    2楼
    • @姜辰 嗯,NY 2.5 又有货了,ping 值比迈阿密的要低那么一点,速度也快点。

      2018.03.19 22:48 # 回复
  3. 说起来我的vultr该续费了。。

    2018.03.19 22:26 # 回复
    3楼
  4. 添加 SWAP 效果明显吗?

    2018.03.24 10:16 # 回复
    4楼

发表留言

炒蛋:Vultr 送$25 | 搬瓦工年付$19补货,优惠码 BWH26FXH3HIQ | 推荐VPS信息