最近,我不得不在我们的MSSQL 2008 R2 64位服务器上运行几个繁重的一次性查询,并面临一个问题:执行这些查询使SQL server消耗100%的CPU,这最终(大约20秒)使服务器完全没有响应能力。因此,我被迫重新启动它或等待执行完成,这需要很长时间,这取决于查询。
我注意到,将SQL服务器的CPU亲和力设置为7个内核,而不是任务管理器中的8个内核,将保持服务器响应,这样如果需要太长时间,我就可以取消查询(并继续进行查询优化,而不需要太重启动)。
但是限制SQL服务器的CPU亲和力是个好主意吗?
请分享你的想法。服务器正被用于web应用程序。
发布于 2016-02-01 08:59:45
结果却是个坏主意。
几天后,与CPU亲和力7/8,我注意到,SQL服务器将持续加载1-2核心高达100%,而其他核心是可用的。
当CPU亲和力受到限制时,SQL Scheduler可能无法正确分配工作负载。
发布于 2022-05-27 01:00:28
几年后,如果有人在搜索中发现这一点,您的假设是正确的,即工作调度程序会锁定在核心上。然而,有一个跟踪标志要打开,以将其放回: 8002。
https://stackoverflow.com/questions/34994304
复制相似问题