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/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,任何VPS主机均有跑路风险且需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

使用 WordPress 内置 XML Sitemaps 替换 Google XML Sitemaps

内容是王道,但是有时候酒香也怕巷子深,向搜索引擎提交 sitemap 是快速提高网站收录的最好方法之一。老头一直使用 Google XML Sitemaps 插件自动生成 sitemap.xml 站点地图。 WordPress 5.5 版本起 内置 sitemap 功能 WordPress 5.5 版本之后,核心代码已经内置 XML Sitemaps 功能,只要访问:…

WordPress 5.0+ 禁用 Gutenberg & WordPress 5.8+ 禁用 Widget 块编辑器

2018.12.06,WordPress 5.0 发布,代号 Bebo。最大的亮(黑)点就是正式引入新的基于块(block-based)的编辑器 —— Gutenberg 编辑器,以及新的默认主题 —— Twenty Nineteen。 WordPress 5.0+ 禁用 Gutenberg 编辑器 第一时间升级,打开文章编辑,一股说不出的杯具感在心头……变化太大,心累…
浏览: 75 标签:  ,  ,  , 

Adobe Flash Player 去helper(Win10 完美恢复)

Adobe 在2020年12月31日后将不再支持 Adobe Flash Player,从2021年1月12日开始,阻止 Flash 内容在 Flash Player 中运行。截图 虽然不喜欢 Adobe Flash Player,但是有些网站目前仍然离不开 Adobe Flash Player,过渡解决方法是:安装中国特供版 Adobe Flash Player 或者安装网友修改 Adobe Flash…

升级新版 Google AdSense 代码提升广告效果

2021年7月19日,Google AdSense 最近发布了新版 AdSense 代码。通过新版 AdSense 代码,AdSense 可以更早触发优化功能,从而提升网站上广告效果。新广告代码适用于自动广告和广告单元。 如何获取 Google AdSense 新版代码? 无需采取任何措施。在下次登录 AdSense 后,您将拥有对新广告代码的访…
浏览: 49 标签:  ,  ,  ,  , 

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信息