Skip to main content
☘️ Septvean's Documents
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

内存不足导致 KVM 虚拟机挂掉

运行环境:

  • CPU:Intel(R) Pentium(R) CPU G4560 @ 3.50GHz (4核)
  • 内存:8G
  • 硬盘:1T (HDD) + 500G (SSD)
  • 操作系统:AlmaLinux 9.7

宿主机禁用了 swap 分区。

运行了 3 个 KVM 虚拟机,第一个虚拟机 2核 4G 内存,其它两个虚拟机 2核 2G 内存。

在第一个虚拟机上安装 GitLab 和 Jinkins,内存要求 GitLab 是 4G,Jinkins 是 1G。

内存不足,加上禁用了 swap,所以 4G 的内存无法正常运行 GitLab,简单的一个操作,GitLab 就会挂掉,或者 KVM 虚拟机卡死。

解决方法:

  1. 添加 SSD 硬盘
  2. 在 SSD 硬盘上创建 swap 文件,启用 swap 分区
  3. 将 KVM 虚拟机镜像移动到到 SSD 硬盘

总结:

  1. 安装操作系统时,必须创建 swap 分区。

    • 物理机:8G (超过 8G 意义不大)
    • 虚拟机:2G / 4G / 8G (可以自动分区, 如果超过 8G, 则删除 swap 分区, 手动添加一个 8G 的 swap 分区)
      • 虚拟机一般硬盘空间有限,创建一个 2G 或者 4G 的 swap 分区即可
      • 首选 4G
  2. 如果是 HDD + SSD,禁用 HDD 上的 swap,在 SSD 硬盘上创建 swap 文件,并挂载到 swap 分区。

    • 可有效提升性能,缓解 OOM 问题。