我有一台 Windows 10 机器(32GB RAM),运行 Windows 10 Guest(10GB RAM)用于工作。Guest 配有 80GB 动态磁盘,底层存储是 SSD。操作系统本身小于 20GB。
客户机平均以 5-10 MB/s 的速度向页面文件写入数据,原因缩小到页面文件。它消耗了大量主机 CPU(约占 4C8T 的 25-50%),并迅速扩大了我的动态磁盘的大小,所有这些都与将页面文件放在 SSD 上是否会导致磨损的长期争论有关。根据 Crucial 的 SSD 工具,它每天在我的 1 TB SSD 上使用半个写入周期。
在我的工作环境中,软件不断读取大文件,Windows 不断尝试将文件缓存在内存中,然后将这些文件写入页面文件。
在虚拟机中配置页面文件是否有通用准则?这些准则考虑到:
- 尽量减少动态磁盘大小的快速扩展
- 客户 I/O 中的 CPU 开销
- SSD 磨损(有点被揭穿了,但我们现在有了 QLC SSD)
一些解决方案可能是:
- 禁用页面文件(解决了不断写入的问题,但是内存使用达到峰值时操作系统会崩溃)
- 禁用磁盘读取缓存(停止磨损但会使操作系统运行速度大大降低)
- 直通物理分区/设备(尚未尝试)
- 将页面文件放在共享文件夹中(仍然需要从主机读取大量开销)
- 购买一台物理机用于工作(解决了虚拟化开销,但 Windows 仍会缓存我的文件读取)
- 使用 Linux,可以将 swappiness 设置为零