我已开始在 Ubuntu 10.10 主机上使用 VirtualBox 下的 Windows 7。在设置虚拟机的过程中,我从计算机附带的 Windows 还原映像中拍摄了大约 6 张快照。我的安装或多或少仅限于 Windows 更新、防病毒软件和 VB Guest Additions。我卸载的东西比安装的东西多得多。虚拟机总共运行了大约 24 小时。
快照的大小以令人担忧的速度增加,即使机器处于空闲状态:晚上 11:22 到早上 9:02 之间的快照 .vdi 文件大小为 6 GB;在此期间几乎没有发生任何变化。其他 .vdi 文件大小在 0.5 到 3 GB 之间,大多数在 1 到 2 GB 之间。相应的 .sav 文件大小在 0.5 到 1 GB 之间。
我进行此项操作时使用的互联网连接下载速度限制为 30KB/s,并且一直处于饱和状态,因此 24 小时内的下载量不足 3 GB。
这是正常的吗?有什么办法可以让快照更实用吗?
更新
再次启动虚拟机时,我注意到它mscorsvw
占用了大量的处理时间。显然这个过程预编译 .NET 程序集。这可能发生在我拍摄快照期间,这可能解释了快照大小增加的部分原因。如果我得知这可能导致超过 10 GB 的额外磁盘使用量,或者它会运行大约 24 小时,我会感到有些惊讶。这可能吗?
更新第二部分
正如评论主题中所述,我昨天大约 24 小时前(2011-02-27 中午)再次启动了虚拟机。
在完成一些初始安装后,我拍摄了另一个快照。该快照的文件大小为 .vdi ~500 MB,.sav ~920 MB。
一个半小时后,我又拍了一张快照。.vdi:~477 MB;.sav:~923 MB
我试图让它运行一整夜;午夜后我就没再使用过电脑。然而,当我今天早上检查它时,VirtualBox 显示它的状态为“中止”。当前快照 .vdi 文件的时间戳为 2011-02-28 01:05。它的大小约为 1.5 GB。
因此,考虑到我之前在 9 小时内 .vdi 文件增长了 6 GB,看起来变更集在安装或更新后至少会随着时间的推移而稳定下来。Olli 表示,大部分变化可能来自交换使用。正如评论中提到的,我不太清楚如何检查 Windows 7 使用的虚拟内存量。我检查时交换文件的大小约为 1.5GB,但我不知道如何确定实际使用了多少。性能监视器图表显示页面文件使用率已达到峰值并稳定在略低于 20。但 20 是什么?
因此,如果对分页文件内容的更改实际上是导致快照大小增加的主要原因,那么可能可以通过告诉 Windows 在拥有 1GB 可用 RAM 时减少索引或使用交换的其他操作来减少快照大小。
答案1
您有计划进行碎片整理吗?与磁盘映像软件一样,对驱动器进行碎片整理会对文件位置造成很多更改,即使只记录更改也会使生成的文件几乎与完整备份一样大。如果您没有将其关闭,Windows 7 默认有计划进行碎片整理。