症狀
在 NUMA 環境中,Microsoft SQL Server 遇到下列一或多個效能問題:
- SQL Server 進程遇到過高的 CPU 使用率。
- 查詢需要很長的時間才能完成。
- 應用程式或 SQL Server Agent 工作遇到查詢逾時或連線逾時。
- 叢集服務重新啟動 SQL Server 程序。
此外,您可能會遇到下列徵狀:
- 當您在 DMV) 查詢動態管理檢視 (sys.dm_os_wait_stats時,SOS_PHYS_PAGE_CACHE等待類型的提升值
- 查詢 sys.dm_os_spinlock_stats DMV 時,CMEMTHREAD 等待類型和SOS_SUSPEND_QUEUE執行緒同步鎖定的提升值
解決方式
累積更新資訊
此問題已先在下列 SQL Server 累積更新中修正。
2014 年 SQL Server 累積更新 2 /zh-tw/help/2967546
SQL Server 2014 累積更新 1 /zh-tw/help/2931693
SQL Server 2012 SP1 的累積更新 9 /en-us/help/2931078
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
Hotfix 資訊
Microsoft 提供支援的 Hotfix。 不過,此 Hotfix 僅用來修正本文所述的問題。 僅將此 Hotfix 套用至發生此特定問題的系統。
如果 Hotfix 可供下載,本知識庫文章頂端有「Hotfix 可供下載」一節。 如果未顯示此區段,請提交要求給 Microsoft 客戶服務與支援以取得 Hotfix。
注意: 如果發生其他問題或需要進行任何疑難排解,您可能必須建立另外一個服務要求。 一般的支援費用將適用於不符合此特定 Hotfix 條件的其他支援問題和問題。 如需 Microsoft 客戶服務及支援服務的完整電話號碼清單,或建立個別的服務要求,請造訪下列 Microsoft 網站:
/contactus/?ws=support 注意:「Hotfix 下載可用」表單顯示 Hotfix 可用的語言。 如果您找不到您的語言,是因為該語言沒有 Hotfix。
重要 建議對安裝在 NUMA 系統上的任何 SQL Server 執行個體使用此修正程式,無論 SQL Server 親和性遮罩設定為何。 此修正解決了 SQL Server 記憶體管理員中的 AWAY 處理效能瓶頸。
此問題已先在下列 SQL Server 累積更新中修正。
因應措施
若要解決這些問題,請增加應用程式的登入和查詢逾時值。
注意 這個因應措施的效果可能有限。 建議您套用 Hotfix 以解決「徵狀」一節中所述的問題。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
更多資訊
當 Microsoft SQL Server 的記憶體管理員在啟用 NUMA) 的環境中,為非統一記憶體存取中的節點配置記憶體 (Windows 可以從本機和遠端節點配置記憶體, (稱為「離開」或「外部」頁面,) 直到每個節點達到所需的目標為止。 由於這些「離開頁面」從效能角度來看並不理想,SQL Server 程式會嘗試將離開緩衝區指派給適當的記憶體節點,或將這些頁面釋放回作業系統。 這種「AWAY 處理」可能會耗用大量 CPU,並在 CPU 使用量增加期間導致批次速率降低。
參考資料
如需有關如何理解外部頁面概念的詳細資訊,請前往下列 MSDN 部落格文章網站: