Sql-Server
所有 XTP_THREAD_POOL 程序都在做什麼?
我剛剛在
sp_who
使用MEMORY_OPTIMIZED
表的 SQL Server 2016 實例上執行,我看到幾個XTP_THREAD_POOL
程序正在執行:有關輸出的其他一些詳細資訊:
結果集中正好有 6
XTP_THREAD_POOL
行我的系統有兩個邏輯核心
- 具體來說,它是一個帶有 2 個插槽的虛擬機——每個插槽容納一個 1 核處理器
所有這些任務都作為後台執行 (sa)
這些程序在做什麼?我在 Google 上找不到太多關於此任務名稱的資訊。
射線
實際上,很難獲得有關這些任務的資訊。
文件(為記憶體中 OLTP 創建和管理儲存 -> 可擴展性)說
在 SQL Server 2016 (13.x) 中,有多個並發執行緒負責將更改持久保存到記憶體優化表。
雖然文件沒有提到可能與這些並發執行緒相關的“cmd”值,但Bob Ward 的 PowerPoint連結到上面的文件頁面並添加了有關此過程的更多詳細資訊:
您可能會將這些視為 command =
XTP_THREAD_POOL
或XTP_PREEPMTIVE_TASK
因此,這些任務使記憶體中 OLTP 使用的數據和增量文件保持最新。 他們一直在後台執行。當它們空閒時,它們會進行DISPATCHER_QUEUE_SEMAPHORE等待。
該展示文稿還提到:
池不應大於 # 個邏輯 CPU…
因此,看到其中 6 個程序在 2 個處理器的機器上執行,這有點令人驚訝。這可能是一個錯誤,或者自從 Bob 的 PowerPoint 展示文稿之後事情可能發生了變化。希望有比我更聰明的 Hekaton 的人過來參與進來。
高溫高壓