quinta-feira, 14 de janeiro de 2021

Administração do Linux para DBA's SQL Server: Verificando o uso da CPU


SQL Server on Linux - Administration


       Com o lançamento de 2016 do SQL Server, a Microsoft decidiu expandir o SQL Server para rodar em servidores Linux. Como a maioria dos DBAs do SQL Server não está acostumada a trabalhar com Linux, há tarefas comuns, como verificar o espaço livre em disco ou o consumo de CPU, que podem ser difíceis. Nesta dica, farei uma pequena lista do que precisamos saber sobre a administração do Linux para começar a usar o SQL Server no Linux.

Comando TOP

O comando de console mais básico para verificar o consumo de CPU é o TOPA saída deste comando consiste em um cabeçalho que mostra informações gerais e uma grade com as informações por processo. Dê uma olhada na próxima captura de tela.



Para aqueles de nós acostumados com o Windows, é importante entender o que cada linha significa, então irei linha por linha descrevendo seu significado.

Linha 1

  • Hora atual do sistema
  • Tempo desde que o sistema foi ligado
  • Número de usuários conectados
  • Média de carga medida em intervalos de 5, 10 e 15 minutos

Em sistemas Linux, a média de carga mede a porcentagem de tarefas enfileiradas (CPU ou E / S) em um período de tempo específico. Este valor também depende do número de núcleos da CPU. Por exemplo, um sistema com um núcleo com uma carga média de 1 tem uma carga total, mas se o sistema tiver dois núcleos, ele tem uma meia carga. Como regra geral, se a média de carga for um número maior que o número de núcleos de seu sistema, isso significa que seu sistema está sob estresse. Lembre-se de que a média de carga pode ser um número muito maior do que o número de núcleos em seu sistema devido a tarefas em espera.

Linha 2

  • Número total de tarefas
  • Número de tarefas realmente em execução
  • Número de processos à espera de um evento para continuar a execução
  • Número de tarefas paradas
  • Número de processos em estado zumbi

Aqui precisamos explicar o que é um processo zumbi. Em um sistema Linux, quando um processo filho termina, ele mantém o id do processo na tabela de processos, para que o processo pai possa ler o status de saída do processo filho. Esse processo filho concluído é chamado de zumbi. Depois que o processo pai lê o status de saída filho, o zumbi é removido. O problema com zumbis é que o Linux tem um número limitado de ids de processo (que você pode encontrar lendo o arquivo / proc / sys / kernel / pid_max) e em circunstâncias muito raras isso pode levar à falta de recursos.

Linha 3

Esta linha mostra informações sobre o uso do tempo de CPU.

  • Porcentagem de tempo de CPU no modo de usuário
  • Porcentagem de tempo de CPU no modo de sistema
  • Porcentagem de tempo de CPU no modo de usuário de baixa prioridade (o Linux chama de Nice Priority)
  • Porcentagem de tempo ocioso da CPU
  • Porcentagem de tempo de CPU aguardando E / S
  • Porcentagem de interrupções de hardware de manutenção de tempo de CPU
  • Porcentagem de interrupções de software de manutenção de tempo de CPU
  • Porcentagem de tempo de CPU A CPU virtual espera por uma CPU real enquanto o hipervisor está atendendo a outro processador virtual (isso é chamado de tempo roubado)

Linha 4

Esta linha nos fornece informações sobre a memória física do nosso sistema.

  • Memória total
  • Memoria livre
  • Memoria usada
  • Memória usada pelo Buffer Cache

Linha 5

Esta linha mostra informações sobre as partições de troca, o equivalente ao arquivo de paginação do Windows.

  • Espaço de partição de troca total.
  • Espaço de partição de troca livre.
  • Espaço de troca usado.
  • Memória física disponível.

Grade de Processo

O painel inferior do comando superior exibe uma grade com informações sobre os processos em execução.

.


Descrição

PID

O Identificador do Processo

USER

Usuário que possui o processo

PR

Prioridade do processo. Se você vir RT nesta coluna, significa que o processo está sendo executado em tempo real.

NI

Boa prioridade. Se for um valor negativo, significa que o processo está sendo executado em alta prioridade. Um valor positivo significa que o processo está sendo executado em baixa prioridade.

VIRT

Quantidade de memória virtual usada pelo processo, expressa em kilobytes.

RES

Quantidade de memória física usada pelo processo expressa em kilobytes.

SHR

Quantidade de memória compartilhada expressa em kilobytes.

S

Status do processo
D = ininterrupto hibernação
R = executando
S = hibernando
T = interrompido pelo sinal de controle de trabalho
t = interrompido pelo depurador durante o rastreamento
Z = zumbi

%CPU

A porcentagem de uso da CPU por determinada tarefa. Se você vir um número maior que 100%, não entre em pânico, é porque o comando top não está sendo executado no modo thread.

% MEM

A porcentagem de memória física usada pelo processo.

TIME +

Quantidade de tempo de CPU usado pelo processo.

COMMAND

O comando que iniciou o processo.

HTOP como alternativa

Existe uma alternativa ao top, que é uma ferramenta de monitoramento do Linux chamada htop ( http://hisham.hm/htop/ ). A vantagem dessa ferramenta é que ela usa cores e mostra informações sobre CPU, Memória e Troca como barras gráficas.


Normalmente esta ferramenta não está disponível nas instalações básicas do Linux, então você terá que instalá-la de seus repositórios de distribuição ou baixar os pacotes do site htop .

Se você estiver usando o Ubuntu, o seguinte comando instalará o htop.

sudo apt-get  install htop


Fique ligado para mais dicas do SQL Server no Linux .

Nenhum comentário:

Postar um comentário