ESXi 禁用 swap 节省硬盘空间

文章目录[隐藏]

目标

ESXi 主机默认是开启虚拟内存的,它可以在虚拟机的预留内存不足且申请不到物理内存时通过交换文件 (vswap) 申请内存。

为了实现这个功能,虚拟机会在创建时自动根据虚机非预留内存大小创建一个同等大小的 swap 文件,通常位于镜像文件同一目录,文件名以 .vswp 结尾。

例如创建一个内存为 8GB 的虚拟机,且不设置预留内存,那么 .vswap 就会自动创建,并且大小也是 8GB。

这样可以实现虚机的总内存远大于物理机总内存,但对于有些情况来讲可能并不是非常合适。

解决方法

swap 文件的大小等于虚机内存 - 保留内存,所以只需要调大保留内存就可以了。

注意:调整内存时需要先关闭虚拟机

无预留内存时交换文件大小 :

全预留内存时交换文件大小:

很明显只要将预留调整到虚拟机内存大小时就可以直接将 vswp 文件大小减为 0 了。

另外

还有个 VMX 进程的交换文件,这个文件名一般以 vms 打头,想禁用这个文件可以通过:

  1. 关闭虚拟机
  2. 编辑虚拟机设置
  3. 点击虚拟机选项,展开高级
  4. 编辑选项
  5. 添加设置项
  6. 参数名为 sched.swap.vmxSwapEnabled,值为 false
  7. 点击保存后重启就可以了

Recent Posts

Docker 容器非 root 用户监听 80 端口

起因是基于 CentOS 的 …

2 年 之前

基于 Docker 定时打印文件

先说背景,喷墨打印机有个很大的…

2 年 之前

Java 运行时反射获取来自继承的泛型

背景 正常情况下 Java 的…

3 年 之前

Java 基于 ByteBuddy 重写系统当前时间

背景 一般单元测试时总会有些代…

3 年 之前

华硕 B450F-Gaming 主板 I211-AT 网卡驱动安装

事情起因是买了块华硕的 ROG…

3 年 之前

PHP 安装 Memcached 扩展

登录服务器挨步执行: # su…

4 年 之前