Sql-Server

SQL Server 使用過多的 CPU

  • January 6, 2017

我有一台安裝了 SQL Server 2014 Express SP2 的 VM 2012 R2 伺服器。有一些應用程序和數據庫,但沒有太大。數據庫很小,加起來大約 100MB。

在某個時刻(不是從一開始)SQL Server 程序開始顯示持續的高 CPU 使用率。通常 CPU 負載約為 15-20%。它顯示了一分鐘負載為 15-20% 的周期性圖片,並且在兩個週期之間有幾秒鐘的負載為 0%。有時,SQL Server 會停止這樣做(無論他做什麼……)大約 2 分鐘,然後以 10-20 秒的 >95% 負載和“通常”15-20% 之後重新開始……

當然,它會影響使用者的性能。

我已經盡我所能調查了(會話報告、查詢報告、分析器、記憶體分配 SP ……),但我沒有發現任何可能導致這種情況的東西。或者,確切地說,我發現安裝的實際應用程序中沒有任何會話、查詢和任何內容都不會對 CPU 造成如此大的負載。我嘗試使用 SQL Server 關閉所有應用程序並分離它們的數據庫,然後重新啟動伺服器。沒用。

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

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

從 Karthick PK 的SQL Server 高 CPU 使用率故障排除中,我檢查了可能由電源計劃或其他設置引起的計時器問題。在啟動時使用-T8038不會影響 CPU 負載。電源計劃設置為高性能。

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

問題如下。

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

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

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

引用自:https://dba.stackexchange.com/questions/150978