抵制内存超售,提高小鸡稳定性—禁用Balloon气球驱动

16次阅读

共计 1025 个字符,预计需要花费 3 分钟才能阅读完成。

本帖最后由 吹风秀跳刀 于 2024-3-27 17:44 编辑

什么是 Balloon 气球驱动?

通过 virtio_balloon 驱动实现动态调整 Guest 与 Host 的可用内存空间。Balloon 的工作原理是在虚拟机中安装一个 kmod,KVM 宿主机内存不足,会根据 virtio_balloon 判断哪些内存页面可以被回收,然后 virtio_balloon 将这些内存占用,返回给宿主机使用。

root 用户执行 rmmod virtio_balloon 可以关闭 virtio_balloon。

(请注意,此方法重启失效)

事实上,大多数使用 Proxmox VE 的厂商都会开启 virtio_balloon 进行超售。


https://github.com/uselibrary/memoryCheck

使用 memoryCheck.sh 一键检测 VPS 内存是否超售

wget https://raw.githubusercontent.com/uselibrary/memoryCheck/main/memoryCheck.sh && chmod +x memoryCheck.sh && bash memoryCheck.sh 复制代码

根据实际测试经验,超过 80% 小鸡会出现“balloon 超售!”


如何永久禁用 / 关闭 Balloon?

(dd 系统,测试无效,virtio_balloon 仍然会出现。所以需要手动禁用)

省流版,两键命令,然后重启

第一键
echo “blacklist virtio_balloon” | tee /etc/modprobe.d/blacklist.conf 复制代码

第二键
update-initramfs - u 复制代码

然后重启,使用 memoryCheck.sh 再次检测

不省流版,如下:

1. 打开 /etc/modprobe.d/ 目录

cd /etc/modprobe.d/

2. 在 /etc/modprobe.d/ 目录中,创建一个新的配置文件,例如 blacklist.conf

vim /etc/modprobe.d/blacklist.conf

3. 在配置文件中添加禁用模块的规则。

在打开的配置文件中,添加以下行:

blacklist virtio_balloon 复制代码

这将告诉系统在引导时禁用 virtio_balloon 模块。

4. 保存并关闭 conf 文件

5. 更新 initramfs:

update-initramfs - u 复制代码

6. 重启小鸡。使用 memoryCheck.sh 再次检测

正文完
 0