最近,我在mssqltips.com上阅读了一个关于Server上内存瓶颈的mssqltips.com。在这篇文章中,我读到以下内容:
Server上的下列性能计数器:缓冲器管理器对象也可以指示内存压力:
引起我注意的是,大量的“检查点页/秒”可以表示内存压力。
我的理解是,检查点将“脏”页写入磁盘。这可以以不同的方式触发。
如此多的检查点表明系统非常繁忙(在自动和间接检查点的情况下)。因为检查点从不从缓冲区缓存中删除页面,所以我不太明白检查点/秒的数量有多大可以表示内存压力。如果有内存压力,我只会看到大量的“懒惰写/秒”。懒惰的作家从记忆中删除“冷页”,为新页腾出空间。
高数量的检查点页/秒如何表示内存压力?
发布于 2019-02-25 10:54:38
高数量的检查点页/秒如何表示内存压力?
它并不直接表示内存压力。这个值本身是累加的,对记忆压力没有多少洞察力。
在你提到的博客中,我不会依赖以下两个计数器来计算内存压力。
对于BCHR,这个博客中的Jonathan已经解释了这个原因。如果您依赖SQl服务器读取头的特性,它会给您提供不正确的解释。
Server中检查点的工作是为了减少Server的整体恢复时间。更频繁的检查点意味着减少前滚所需的事务日志记录数量,从而缩短恢复时间。因此,我不会将高检查点页/秒等同于内存瓶颈。它需要进一步的分析,或者仅仅是在一个非常繁忙的系统上,它可以被忽略。这只是SQL Server努力确保当数据库通过崩溃恢复时,它在最短的时间内联机,让您满足RTO。
如果我想查看内存压力,我会在perfmon计数器之后开火。
https://dba.stackexchange.com/questions/230647
复制相似问题