我有安装了SQL Server 2014 Express SP2的服务器2012R2。 有一些应用程序和数据库,但没有太大的。 数据库很小,大约有100MB的大小。
在某个时刻(不是从一开始),SQL Server进程开始显示持续的高CPU使用率。 通常CPU的负载约为15-20%。 它显示了一个周期性的图片,分钟的15-20%的负载和几秒钟内0%的使用时间。 有时SLQ服务器会停止这样做(无论他做什么…)为2分钟,然后再次启动10-20秒> 95%的负载和“通常”15-20%… …
当然这会影响用户的性能。
我已经调查了所有我可以(会话报告,查询报告,分析器,内存分配SP …),但我还没有发现任何可能导致此问题。 或者,确切地说,我发现在安装的实际应用程序中没有任何会话,没有查询,也没有任何东西可以加载CPU。 我试图closures使用SQL Server的所有应用程序,并分离它们的数据库,然后重新启动服务器。 没用。
我什至做卸载/重新安装SQL Server,但它开始后消耗CPU短,而“干净”。
此外,没有“exception”的configuration,它只是一个简单的SQL Server安装干净的虚拟机。 我已经安装了它,创build了数据库,login,就是这样。
为什么SQL Server即使没有查询和附加数据库,也在使用大量的CPU? 我怎么能至less知道发生了什么?
另外,从链接https://mssqlwiki.com/2012/10/04/troubleshooting-sql-server-high-cpu-usage/我检查了可能的问题与计时器,这可能是由电源计划或其他设置。 在启动时使用-T8038不会影响CPU负载。
问题如下。
让Hyper-V虚拟机configuration高启动内存(如10240MB),并且dynamic内存限制处于活动状态,类似于512-10240范围。
虚拟机启动时提供全部RAM。 加载之后,主机将从VM中回收多余的内存。 同时,SQL Server进程开始创build无法解释的CPU负载。
但是,如果启动内存设置为512MB,则不会发生这种情况。