相关疑难解决方法(0)

TokenAndPermUserStore Clear 会在短时间内降低 CPU 使用率

介绍

简而言之,我的服务器上发生了很多临时查询,来自我无法控制且无法更改的应用程序(即使推送索引也很困难,而且它们使用了很多堆......)。

眼镜

操作系统 - Windows Server 2012 R2(主节点)SQL Server 2014 - 12.0.5546

Always On AG 与具有相同硬件的辅助同步节点 + Build。

记忆:

由于许可,我们只能将 24 个内核中的 12 个用于 sql server(我没有这样做)。很容易发现哪个 12 个内核;)。 CPU使用率

问题

现在关于我的问题。目前,我们每 30 分钟清除一次“TokenAndPermUserStore”。这甚至在它到达我手中之前就在服务器上发生了。我们使用以下命令执行此操作:

DBCC FREESYSTEMCACHE ('TokenAndPermUserStore') 
Run Code Online (Sandbox Code Playgroud)

我使用这个查询来检查缓存:

SELECT SUM(pages_kb) / 1024  AS 
   "CurrentSizeOfTokenCache(mb)" 
   FROM sys.dm_os_memory_clerks 
   WHERE name = 'TokenAndPermUserStore'
Run Code Online (Sandbox Code Playgroud)

在清除之后,这是缓存大小:

CurrentSizeOfTokenCache(mb)
1602
Run Code Online (Sandbox Code Playgroud)

在某个时间点,例如清除后 15 分钟,这是缓存大小:

CurrentSizeOfTokenCache(mb)
1976
Run Code Online (Sandbox Code Playgroud)

更新: 现在,当 CPU 使用率再次稳定时(使用 40%(监控时为 20%),缓存远低于 CPU 使用率高时的最低点。

CurrentSizeOfTokenCache(mb)
1281 
Run Code Online (Sandbox Code Playgroud)

昨天的例子:

昨天的这张照片上的下降非常明显:(注意因为我们可以使用 24 个内核中的 12 个,50% 意味着在监控软件中 100%,换句话说,cpu 使用率可能不会超过 50%,因为它专用于仅限 sql 服务器)

在此处输入图片说明

需要注意的一件重要事情是,昨天我们在 top …

sql-server sql-server-2014

8
推荐指数
1
解决办法
816
查看次数

标签 统计

sql-server ×1

sql-server-2014 ×1