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,顺利升级成功。

脚本一键添加 swap

提示:脚本不支持OpenVZ架构,安装会自动退出。

脚本作者:https://www.94ish.me/1820.html

运行命令:

wget https://cyhour.com/file/sh/swap.sh && bash swap.sh

然后根据选项进行操作,记得添加swap的时候填写纯数字,默认单位为 M。

代码 ▼展开

#!/usr/bin/env bash
#Blog:https://www.moerats.com/

Green="\033[32m"
Font="\033[0m"
Red="\033[31m"

#root权限
root_need(){
if [[ $EUID -ne 0 ]]; then
echo -e "${Red}Error:This script must be run as root!${Font}"
exit 1
fi
}

#检测ovz
ovz_no(){
if [[ -d "/proc/vz" ]]; then
echo -e "${Red}Your VPS is based on OpenVZ,not supported!${Font}"
exit 1
fi
}

add_swap(){
echo -e "${Green}请输入需要添加的swap,建议为内存的2倍!${Font}"
read -p "请输入swap数值:" swapsize

#检查是否存在swapfile
grep -q "swapfile" /etc/fstab

#如果不存在将为其创建swap
if [ $? -ne 0 ]; then
echo -e "${Green}swapfile未发现,正在为其创建swapfile${Font}"
fallocate -l ${swapsize}M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap defaults 0 0' >> /etc/fstab
echo -e "${Green}swap创建成功,并查看信息:${Font}"
cat /proc/swaps
cat /proc/meminfo | grep Swap
else
echo -e "${Red}swapfile已存在,swap设置失败,请先运行脚本删除swap后重新设置!${Font}"
fi
}

del_swap(){
#检查是否存在swapfile
grep -q "swapfile" /etc/fstab

#如果存在就将其移除
if [ $? -eq 0 ]; then
echo -e "${Green}swapfile已发现,正在将其移除...${Font}"
sed -i '/swapfile/d' /etc/fstab
echo "3" > /proc/sys/vm/drop_caches
swapoff -a
rm -f /swapfile
echo -e "${Green}swap已删除!${Font}"
else
echo -e "${Red}swapfile未发现,swap删除失败!${Font}"
fi
}

#开始菜单
main(){
root_need
ovz_no
clear
echo -e "———————————————————————————————————————"
echo -e "${Green}Linux VPS一键添加/删除swap脚本${Font}"
echo -e "${Green}1、添加swap${Font}"
echo -e "${Green}2、删除swap${Font}"
echo -e "———————————————————————————————————————"
read -p "请输入数字 [1-2]:" num
case "$num" in
1)
add_swap
;;
2)
del_swap
;;
*)
clear
echo -e "${Green}请输入正确数字 [1-2]${Font}"
sleep 2s
main
;;
esac
}
main

除非注明,沙唐桔文章均为原创,本文地址 https://cyhour.com/662/,转载时必须以链接形式注明原始出处。
声明:我们不销售主机,选主机需合法使用。任何主机需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🔞:Netflix 奈飞 YouTube 合租免费节点Telegram 频道

优化 WordPress 评论回复通知邮件

用上 G Suite 后,域名邮箱自然也托管到 Google,Gmail 配合 Gmail SMTP 插件使用,还行。更改后回复评论提交速度巨慢,肯定与这个评论回复通知邮件有关。 原本使用 VPS Postfix 直接发送,虽然基本上会进垃圾邮件,但是回复评论提交速度很快。再次尝试使用 wp_schedule_single_event 延迟发送评论…

使用 rclone 将 Google Drive 文件同步至 OneDrive

前几天上了博友「灵尘居」的 Office 365 车,1T OneDrive 到手,手机照片一直喂 Google AI,挺方便的,以前还会同步一份到家里的垃圾西数 NAS,不过并不太自动,后来就懒得弄了。 Google 虽然是大厂,但是数据只有一份,还是怕怕,多一个备份不是坏事。苹果 iCloud 不错,但是贼贵,况且我只有一个…
浏览: 147 标签:  ,  ,  ,  , 

尼康 D7100 中文使用说明书 高清 PDF 电子版免费下载

尼康 D7100 说明书是一份介绍详细尼康 D7100 单反官方教程,推荐购买了 D7100 单反博友下载保存参考,以便随时查看一些常用按键操作和使用技巧。 尼康 D7100 简介 尼康 D7100 搭载先进的对象捕捉性能和成像性能,能够忠实还原拍摄细节。高密度的 51 点自动对焦系统准确捕捉目标对象并进行跟踪,…

全网热门公共 BitTorrent Tracker 列表合集 加速BT下载

BT 下载速度取决于其他下载同一资源的用户上传速度。做种「指上传文件数据给其他 BT 用户的行为」用户越多,你的下载速度越快!如果资源没人提供上传,就会完全没有下载速度,而做种用户靠 Peer、DHT、Tracker 获得。 Tracker 是什么? BT 下载的文件都是其他用户上传给你的。 BT 下载速度…
浏览: 160 标签:  ,  ,  ,  , 

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 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息