共计 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 再次检测