V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
edis0n0
V2EX  ›  云计算

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

  •  
  •   edis0n0 · 2022-09-05 19:14:01 +08:00 · 3976 次点击
    这是一个创建于 570 天前的主题,其中的信息可能已经有所发展或是发生改变。
    256GB DDR4 内存,跑普通 Web 服务的服务器,最近内存不够用了,买了新的还没到,想起 PVE 可以超开内存于是给业务虚拟机直接加了 64GB 内存,感觉 CPU 性能下降了,但没有之前的数据不知道下降了多少。

    (非互联网企业,运维不够用,不关键项目都是开发兼*职运维,非常混乱)
    7 条回复    2022-09-08 17:25:44 +08:00
    aru
        1
    aru  
       2022-09-05 20:19:27 +08:00
    可以看下 ksm
    如果有多台安装同样操作系统的虚拟机,大概能省不少内存
    gesse
        2
    gesse  
       2022-09-06 08:34:11 +08:00
    如果虚拟机活跃起来,最后宿主系统会因为 IO 奔溃
    opengps
        3
    opengps  
       2022-09-06 08:52:33 +08:00
    如果实际使用没超过物理总和还好。如果所有虚拟机的实际使用内存超了,那就应该开始出问题,最直接的可能就是内存 io 延迟猛增
    salmon5
        4
    salmon5  
       2022-09-06 09:54:24 +08:00
    "256GB DDR4 内存,跑普通 Web 服务的服务器"
    跑了不少虚拟机吧,很多都是学习环境,可以关掉一些没用的
    esile
        5
    esile  
       2022-09-07 10:41:51 +08:00
    我 128G 开了 50 个 2G 的 Windows 小鸡卡冒烟,设置了 300G 虚拟内存,不然直接内存不足无法开机。
    litguy
        6
    litguy  
       2022-09-07 11:10:05 +08:00
    iostat 和 top 看看磁盘和 CPU 占用再说
    加内存是最好的解法,没必要浪费时间
    qyvlik
        7
    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 节点上
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1488 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:19 · PVG 01:19 · LAX 10:19 · JFK 13:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.