her*_*iod 6 cpu-usage sql-server
我们有一台运行 SQL Server 2008 的 Windows 2008 R2 服务器。突然之间,SQLServer 进程拒绝超过 20% 的 CPU 使用率。截至上周,当对数据库运行大量查询时,它的使用率将上升到我预期的 100%。我们已经拥有这台服务器一段时间了,它突然有了这个限制似乎很奇怪。这个限制导致我们的查询比平时花费的时间更长。没有人(至少在知情的情况下)对服务器配置进行过任何更改。
经过一番调查,我发现了 sys.dm_os_sys_memory 视图。这显示“可用物理内存很高”,同时可用物理内存为 339552kb,其中总数为 4193848kb。值得注意的是,这是一个运行在 vmware 上的虚拟服务器。
SQL Server 中是否有设置最大 CPU 使用率的设置?我在资源调控器中找到了设置,尽管目前它一直处于关闭状态。
我们最近开始使用 Quest Software 的 Spotlight for SQL Server。它的播放数据库今天早上在这台服务器上有很短的时间,我第一次注意到这个问题,虽然在此之前我没有做任何查询,所以我不知道这是否是问题所在开始,但是数据库在周五下午按预期工作。Windows 日志显示以下设置在创建时应用于 SpotlightPlaybackDatabase。
这些设置更改中的任何一个都可以修改应用于整个服务器的设置吗?
编辑 #1: 通过重新启动 sql server 设法解决了这个问题,首先不确定问题是什么。尽管问题已经解决,但我仍然有一些我以前不知道的 io 问题需要解决。
编辑#2: 问题再次发生。解决方案是在 SQL Server 上关闭 Spotlight 中的跟踪分析,这就是拖累一切的原因。
检查 sys.dm_os_waiting_tasks 并查看等待资源是什么。基本上查看 wait_type 并看看里面有什么。运行此查询并将结果发回。
select wait_type, sum(wait_duration_ms) sum_wait_duration_ms, avg(wait_duration_ms) avg_wait_duration_ms, count(*) waits
from sys.dm_os_waiting_tasks
group by wait_type
Run Code Online (Sandbox Code Playgroud)
您可能遇到了与我今天早上在博客上谈到的类似问题。
| 归档时间: |
|
| 查看次数: |
5915 次 |
| 最近记录: |