SQLServer数据库出现RESOURCE_SEMAPHORE,导致大量的查询SQL超时。
Resource_SEMAPHORE 是指一条或多条语句在执行的时候等待 memory 的分配。
开始数据库设置的是不限制CPU并发。
现在我设置为限制数据库并发为1。
sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'show advanced options', 0;
GO
RESOURCE_SEMAPHORE等待立马消失,证明在内存不够分配的时候尽量设置CPU的并发度为1.