Mag*_*ier 4 performance sql-server memory sp-blitz performance-tuning
我运行了sp_Blitz,它指出了一个内存问题,说:
Memory Dangerously Low 服务器有 32755 MB 的物理内存,但只有 235 MB 可用。由于服务器内存不足,因此存在交换到磁盘的危险,这会降低性能。
服务器有32 GB RAM总,0-2 MB FreeRAM, 200 - 2376 Mb Available。
@@版本:Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) 2012 年 6 月 28 日 08:36:30 版权所有 (c) Microsoft Corporation Enterprise Edition(64 位),Windows NT 6.1(内部版本 7601:Service Pack) 1)
我看了一会儿性能计数器,看到了以下值:
Page Faults/s _Total ~ 1.200 Average, Max 18.000, regular Peeks up to 1500.
Page Faults/s sqlserver ~ 380 Average, Max 1600, regular Peeks up to 1000.
Target Server Memory 30006
Total Server Memory 30006
Buffer cache hit ratio AVG 99,9
Target Pages 3.750 stable
Total Pages 3.750 stable
Free Pages Avg 8300, Max 13.000
Memory Grants Pending 0
% Processor Time _Total Average 15%
Run Code Online (Sandbox Code Playgroud)
用户连接数一直在 300 左右。
从我的角度来看,其中一些值表明服务器运行良好,例如 Memory Grants Pending 或 Buffer cache hit ratio。Page Faults/sec 看起来好像有一些缓存。Resource Monitor 显示 Hard Faults /sec(这是相同的值)也有规律的高峰值。
所以我想知道为什么 sp_blitz 指出这个问题。我是否面临严重问题,I NEED MORE MEMORY issue还是只是指出分配给 32Gb 物理内存的 sql 的 30GB 没有为 Windows 留下足够的内存?
如果您仔细查看SpBlitz 内存建议,它会说它有两种可能的含义
内存危险低或最大内存太高
在您的情况下,查看您共享的 perfmon 计数器输出似乎不是内存压力。所以我们留下了这样一个事实max server memory is configured incorrectly。这似乎是正确的,在具有 32 G 内存的系统上,您已将 30 G 分配给 SQL Server,这肯定会让操作系统争夺更多内存。
在这种情况下,操作系统将开始将 SQL Server 进程分页到磁盘,使其速度非常慢。或者,如果内存中存在锁定页面,则 SQL Server 服务帐户操作系统进程将被分页到磁盘。这两种情况对 SQL Server 和操作系统都非常不利。
我建议你从这个 SE 线程中获取帮助来计算最大服务器内存的适当值。我已经在这个线程上给出了答案,它要求用户帮助perfmon counters达到一个合理的价值。
你可以从给予27 G to SQL Server和离开开始5G for OS。然后使用 SE 线程中提到的性能计数器来达到合理的值。
编辑:我忘了让你申请 SQL Server 2008 R2 SP3,目前 SQL Server 在 SP2 上。如果您需要扩展支持,这是必须的。在任何情况下,为了更安全,您应该始终确保 SQL Server 已修补到最新的服务包。
| 归档时间: |
|
| 查看次数: |
1907 次 |
| 最近记录: |