bum*_*una 5 sql-server memory vmware
我最近将一个物理 SQL Server 机器 (2012) 迁移到 ESX (5.1),只是为了便于管理。它是并且将是服务器上唯一的来宾。正如预期的那样,在大多数情况下只有在启动时才会出现边际性能下降。这就是我的问题。
我注意到,在虚拟化下,缓冲池占用的内存比其物理对应物慢得多。
在 2 天内运行 SQL 服务器的物理安装已分配所有 120GB 的内存分配(最大服务器内存)。但是,在虚拟机管理程序中运行几乎完全相同的设置(我还为来宾提供了完全保留的内存),它花了 7 周的时间才达到 50GB。这也是令人痛苦的缓慢,例如每天 Gb 上升,这转化为几天的缓慢查询。
因此,虽然我在多客人盒子上看到过这种情况并将其归因于内存压力,但我对为什么在单个客人盒子上发生这种情况感到困惑。我知道 vmware 会压缩和重复数据删除内存,但是其中大部分是唯一数据。
所以我的问题是:
1) 为什么会发生这种情况?我对导致这种情况的确切机制感兴趣。
2) 有没有一种方法可以在完全内存分配的情况下启动 SQL 服务器?我记得类似跟踪标志的东西,但还没有找到 64 位的任何东西。这是必要的吗?
提前致谢。
我在重新启动后的前几天注意到的另一件事是 PLE 在 500 - 900 范围内保持非常低,这会随着缓冲池的增长而增加。