Sql-Server

SQL Server 使用 CPU 過多

  • October 5, 2016

我有一台安裝了 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 造成如此大的負載。我嘗試使用 SQL Server 關閉所有應用程序並分離它們的數據庫,然後重新啟動伺服器。沒用。

我什至解除安裝/重新安裝了 SQL Server,但它在啟動後不久就開始消耗 CPU,同時“乾淨”。

此外,沒有“不尋常”的配置,它只是一個簡單的 SQL Server 安裝的干淨 VM。我已經安裝了它,創建了數據庫,登錄,就是這樣。

為什麼即使沒有查詢和附加數據庫,SQL Server 也會使用如此多的 CPU?我怎樣才能至少了解正在發生的事情?

此外,從連結https://mssqlwiki.com/2012/10/04/troubleshooting-sql-server-high-cpu-usage/  我檢查了計時器可能存在的問題,這可能是由電源計劃或其他設置。在啟動時使用 -T8038 不會影響 CPU 負載。

問題如下。

讓 Hyper-V VM 配置高啟動記憶體(如 10240MB),動態記憶體限制處於活動狀態,如 512-10240 範圍。

VM 以可用的全部 RAM 啟動。載入後不久,主機會從 VM 中回收多餘的記憶體。與此同時,SQL Server 程序開始產生無法解釋的 CPU 負載。

但是,如果啟動記憶體設置為 512MB,則不會發生這種情況。

引用自:https://serverfault.com/questions/805224