Acabei de executar sp_who
na minha instância do SQL Server 2016 que usa MEMORY_OPTIMIZED
tabelas e vejo vários XTP_THREAD_POOL
processos em execução:
Alguns outros detalhes sobre a saída:
- Existem exatamente 6
XTP_THREAD_POOL
linhas no conjunto de resultados - Meu sistema tem dois núcleos lógicos
- Especificamente, é uma VM com 2 soquetes - cada soquete abriga um processador de 1 núcleo
- Todas essas tarefas estão sendo executadas em segundo plano (sa)
O que esses processos estão fazendo? Não estou encontrando muito no Google sobre esse nome de tarefa.
TIA
As informações sobre essas tarefas são, de fato, difíceis de obter.
Os documentos ( Criando e Gerenciando Armazenamento para OLTP In-Memory -> Scalability ) dizem que
E embora os documentos não mencionem o valor "cmd" que pode estar associado a esses threads simultâneos, há um PowerPoint de Bob Ward que vincula à página do documento acima e adiciona mais detalhes sobre esse processo:
Portanto, essas tarefas mantêm os arquivos de dados e delta usados pelo OLTP na memória atualizados. Eles são executados em segundo plano o tempo todo. Enquanto eles estão ociosos, eles acumulam DISPATCHER_QUEUE_SEMAPHORE esperas.
A apresentação menciona ainda que:
Portanto, é um pouco surpreendente ver 6 desses processos sendo executados em uma caixa de 2 processadores. Isso pode ser um bug, ou as coisas podem ter mudado desde a apresentação do Bob em PowerPoint. Espero que alguém com mais inteligência em Hekaton do que eu apareça e opine.
HTH
Estou usando o SQL 2019 e observei que esses threads cmd XTP_THREAD_POOL aparecem quando uso o Studio Manager (SSMS) e uso um banco de dados de usuário.
Mostra esses novos tópicos. Não estou usando índices na memória ou qualquer coisa, a menos que 2019 tenha isso ativado.
SQL 2019 CU 08 mostra os encadeamentos cmd.
SQL 2019 CU 05 não.