SQL Server usa CPU demais

1

Eu tenho um servidor 2012R2 com o SQL Server 2014 Express SP2 instalado. Existem alguns aplicativos e bancos de dados, mas nada muito grande. Bancos de dados são pequenos, cerca de 100MB de tamanho combinados.

Em algum momento (não desde o início), o processo do SQL Server começou a mostrar um alto uso constante da CPU. Normalmente, a carga da CPU é de cerca de 15 a 20%. Ele mostra uma imagem periódica com um minuto de carga de 15 a 20% e alguns segundos de uso de 0% entre os períodos. Às vezes, o Servidor SLQ pára para fazer isso (o que quer que ele faça ...) por uns 2 minutos, depois começa novamente com 10-20 segundos de > 95% de carga e "usual" 15-20% depois ...

Claro que isso afeta o desempenho dos usuários.

Eu tenho investigado tudo o que pude (relatórios de sessão, relatórios de consulta, profiler, SP de alocação de memória ...), mas não encontrei nada que pudesse causar isso. Ou, exatamente, descobri que não há sessões, sem consultas e nada nas aplicações reais instaladas que poderiam carregar tanto a CPU. Eu tentei desligar todos os aplicativos usando o SQL Server e desanexar seus bancos de dados e reinicie o servidor. Sem uso.

Eu até desinstalei / reinstalei o SQL Server, mas ele começou a consumir CPU logo após a inicialização, enquanto estava "limpo".

Além disso, não havia nenhuma configuração "incomum", era apenas uma VM limpa com uma instalação simples do SQL Server. Eu o instalei, criei os bancos de dados, logins e pronto.

Por que o SQL Server está usando uma grande quantidade de CPU, mesmo se não houver consultas e bancos de dados anexados? Como posso pelo menos aprender o que está acontecendo?

Além disso, no link link que verifiquei o possível problema com o temporizador, que pode ser causado pelo plano de energia ou outras configurações. O uso do -T8038 na inicialização não afetou a carga da CPU.

    
por yaapelsinko 25.09.2016 / 20:38

1 resposta

0

O problema é o seguinte.

Permita que uma VM do Hyper-V seja configurada com alta memória de inicialização (como 10240 MB) e os limites de memória dinâmica estejam ativos e sejam do tipo 512-10240.

A VM é inicializada com a quantidade total de RAM disponível. Curto após o carregamento, o host recupera o excesso de memória da VM. No mesmo momento, o processo do SQL Server começa a criar essa carga de CPU inexplicável.

Não acontece, no entanto, se a memória de inicialização estiver configurada para 512MB.

    
por 05.10.2016 / 06:23