虚拟 Windows 服务器和页面文件位置

Luk*_*ett -5 vmware-esx

考虑到即使有大量可用 RAM,Windows 也会大量使用页面文件,是否最好将此页面文件放在尽可能靠近虚拟系统的最快磁盘上?

我在想,RAM 磁盘。

在我工作的地方,用于 VM 的存储不在 NAS/SAN 上。我担心必须通过网络进行如此多的内存访问!

作为一个方面,我认为是 MS 摆脱分页并告诉我们购买更多 DIMM 的时候了。

更新

访问本地主轴比 DIMM 慢 C40,000 倍,因此对于硬故障,通过网络访问会更慢。我不知道为什么我得到了否决票,我确信这是一个问题,除非 ESX/HyperV 中有其他机制来管理这个问题。

最后更新

我发现了一些与此相关的有用链接和建议。

来自 Netapp 的论坛

将虚拟机 (VM) vswap 和临时/页面文件托管在 NetApp 存储系统上不同卷上的单独 NFS 数据存储上。(分离瞬态数据可以更快地完成 NetApp Snapshot 副本并实现更高的存储效率。)

来自 thebitsthatbyte.com

Hyper-V VM 性能提示:将页面文件 (pagefile.sys) 移动到另一个虚拟磁盘

从 VMinstall.com

在每个 ESXi 群集中为来宾 SWAP 文件设置数据存储,请参见右图。(不要使用本地 ESX 磁盘!这将节省更昂贵的 SAN 存储,但会导致 DRS 和虚拟机的 vMotion 延迟。)

来自 pubs.vmware.com 上的 ESX 4 故障排除建议

对于资源密集型虚拟机,将虚拟机的物理磁盘驱动器与系统页面文件所在的驱动器分开。这在高使用率期间缓解了磁盘主轴争用。

Hop*_*00b 9

好的,我认为您在这里误解或错误估计了一些基本概念,所以按照我在您的问题中看到它们的顺序,我们开始:

(1) 您关于 Windows 即使有充足的 RAM 也会大量使用页面文件的断言是不正确的。它没有。

  • 页面文件可能保持相同的大小,但它是否实际用于存储任何内容则完全是另一回事。分配(里面有多少东西)也和利用率(它的使用量/使用频率)有很大不同,仅仅因为 Windows 将大量内存内容加载到页面文件中并不意味着它们会被大量使用,甚至完全使用。虚拟内存,或 Windows 页面文件,在概念上只是一个放置数据(“东西”)的地方,这些数据(“东西”)不需要足够紧急或足够频繁地存储在 RAM 中,但比其他地方的任意数据块更迫切或更频繁地需要在硬盘上(一些随机文件)。

(2) 你用[非常大] RAM 磁盘解决这个不存在的问题的想法行不通。

  • 您可以在其中塞入一个 PB 级 RAM 磁盘,Windows(以及一般的操作系统)仍将使用您允许它们的任何虚拟内存空间来存储它认为应该存储在虚拟内存中的任何数据,因为虚拟内存在概念级别“只是”在某个地方访问速度比普通磁盘快,但访问速度比 RAM 慢。由于 RAM 历来比磁盘空间昂贵且稀缺,因此这是(甚至仍然是)降低计算成本的一个很好的折衷方案——如果数据不经常访问,或者预计很快就会被访问,它不需要使用高成本、极快的访问芯片 (RAM),因此您可以将其放在更便宜 [因此速度更慢](“硬盘”)的地方,以允许优先数据占用有限的资源。

(3) 您担心的是对 SAN 性能完全无关紧要的事情。

  • SAN 是一种网络和存储系统,专门设计用于将大量数据从访问它们的计算机系统传输到 SAN 存储控制器中的磁盘。(当然还有其他功能,但这是主要功能。)有些人的唯一工作和生活中的主要功能就是设计这些系统来做到这一点。与我们其他任何人相比,他们为此付出了更多的思考、研究科学方法和高等数学。他们确实知道自己在做什么,而且他们比你或我更有能力对那些细节问题大惊小怪。

  • 也许更重要的是,交换(向/从虚拟内存传输)内存内容将是您的 SAN 带宽的一小部分,除非您有很多机器进行大量的交换,这将是显而易见的,在这种级别的交换会使机器无法使用。因此,除非在您的环境中是这种情况,否则由于交换而进出 SAN 的相对数据量是微不足道的。您的 SAN 将看到来自与访问硬盘更通常相关的活动的大部分流量(以巨大的幅度)。这些可能是移动文件、保存或更改数据、读取和更新数据库等。如果有'

(4) 关于你关于微软应该如何摆脱分页的说法......

  • 您的意思是说“虚拟内存”而不是“分页”,因为分页实际上并不是虚拟内存的同义词,而是一种包含使用虚拟内存的内存管理方案

  • 在任何一种情况下,这不会发生,也不会帮助...什么...无论如何,并且基本上是无能为力的,因为即使微软摆脱了虚拟内存,世界上大多数的服务器,设备和计算设备中一般不要在基于 Microsoft 的操作系统上运行。大多数运行基于 *nix 的操作系统,以及您对 UNIX 或 Linux 更不熟悉的其他更老的操作系统。

编辑:

为了回应您的评论(@LukePuplett),我也会将以下内容添加到我的答案中。

好吧,既然看起来,毕竟,您仍然不相信,并且仍然认为 Windows 分页会降低 SAN 性能,让我建议您“计算一下”Windows 交换对您的 SAN I/O 的影响. 你会这样做:

  1. perfmon在您的 Windows 服务器(或至少一个像样的样本)上监控(通过或您拥有的东西)以确定/估计您有多少硬页面错误。这将是进入您的 SAN 的交换事件的数量。可能会达到并且最好达到每秒速率。调用这个[A]
  2. 使用不同计数器进行相同监控以确定页面事件的平均大小。可能会在kiloBytes,转换为Bytes(乘以1000)。调用这个[B]
  3. 计算 SAN 的理论最大吞吐量瓶颈。这可能是(当然也最容易计算)您的 SAN 交换机/光纤的网络速度等级,例如,8 Gb/s 光纤通道 SAN 将(或可能)具有 8Gb/s 的最大理论吞吐量值。由于这是 in bit/s, (在本例中)而您的其他值将在 中Bytes/s,将值除以 8。调用 this [C]

取 ( [A]* [B]*2)/[C]获取分页数据消耗的最大吞吐量百分比。(乘以2,因为硬故障只测量一个方向的数据传输,通常至少在理论上也会有相应的另一个方向的数据传输。从RAM移动数据到虚拟内存的实例通常应该也对应于将磁盘存储的数据移动到 RAM 中。)

除非您的环境非常不正常,否则根据我在大约十年内从数十个不同环境中获得的指标,该值将与 SAN 最大吞吐量的十分之一 (0.1%) 处于同一数量级。如上所述,在原始答案文本中,还有一长串其他因素(字面意思是几十个离散配置或我可以从头顶上冒出来的因素),您可以获得超过 0.1如果您的 SAN 真的会从性能调整中受益,那么您的 SAN 通过调整将“性能”提高 %,而您完全没有提供任何证据来表明这一点。


Cho*_*er3 5

虽然 Windows 确实在不仅仅是内存过量使用的情况下使用页面文件,但我认为这很疯狂,只需为 VM 提供所需的内存并单独处理存储性能问题 - 您的建议将是一个错误。

哦,页面文件不会很快消失。

  • 好吧,你最清楚。 (7认同)