PVE 使用 swap 把虚拟机内存超开 64GB 会对性能和稳定性产生多大影响?

2022-09-05 19:14:01 +08:00
 edis0n0
256GB DDR4 内存,跑普通 Web 服务的服务器,最近内存不够用了,买了新的还没到,想起 PVE 可以超开内存于是给业务虚拟机直接加了 64GB 内存,感觉 CPU 性能下降了,但没有之前的数据不知道下降了多少。

(非互联网企业,运维不够用,不关键项目都是开发兼*职运维,非常混乱)
4059 次点击
所在节点    云计算
7 条回复
aru
2022-09-05 20:19:27 +08:00
可以看下 ksm
如果有多台安装同样操作系统的虚拟机,大概能省不少内存
gesse
2022-09-06 08:34:11 +08:00
如果虚拟机活跃起来,最后宿主系统会因为 IO 奔溃
opengps
2022-09-06 08:52:33 +08:00
如果实际使用没超过物理总和还好。如果所有虚拟机的实际使用内存超了,那就应该开始出问题,最直接的可能就是内存 io 延迟猛增
salmon5
2022-09-06 09:54:24 +08:00
"256GB DDR4 内存,跑普通 Web 服务的服务器"
跑了不少虚拟机吧,很多都是学习环境,可以关掉一些没用的
esile
2022-09-07 10:41:51 +08:00
我 128G 开了 50 个 2G 的 Windows 小鸡卡冒烟,设置了 300G 虚拟内存,不然直接内存不足无法开机。
litguy
2022-09-07 11:10:05 +08:00
iostat 和 top 看看磁盘和 CPU 占用再说
加内存是最好的解法,没必要浪费时间
qyvlik
2022-09-08 17:25:44 +08:00
SWAP 依赖硬盘性能,内存交换约频繁,对硬盘 IO 压力就越大。

如何在有限的内存多开虚拟机可以参考如下内容:

1. 如果虚拟机是 Linux ,打开内存的 ballooning
2. 如果是 windows 想要使用内存 ballooning ,需要安装 VirtIO Drivers ,见 https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
3. PVE 的 KSM 应该是默认打开,如果没有打开可以考虑开启,见 https://pve.proxmox.com/wiki/Dynamic_Memory_Management
4. SWAP 挂载的硬盘最好是 SSD ,如果 SSD 是 nvme 协议那就更好了。
5. 每个虚拟机的内存上限都减少 n MB ,可以稍微节省一些内存
6. 关掉不必要的虚拟机,或者迁移到其他 PVE 节点上

---

终极大招是:
1. 添置内存条
2. 把虚拟机平摊到其他的 PVE 节点上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877893

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX