Como faço para investigar um pico de uso da CPU sem estar presente?

4

Eu tenho um servidor que usa misteriosamente muita CPU tarde da noite, quando não deveria estar sob carga pesada. Isso faz com que algumas chamadas do banco de dados expirem, e eu configurei alguns alertas no PerfMon para acionar se o uso da CPU ultrapassar 50% e isso parece coincidir com os picos de CPU coincidirem com os tempos limite do banco de dados.

Eu suspeito que seja uma tarefa agendada de algum tipo, mas observei a lista de tarefas agendadas do Windows e do SQL Server e não encontrei nada. Os logs de eventos do Windows contêm apenas o tempo limite do banco de dados e as entradas do PerfMon indicando que o uso da CPU aumentou.

Minha pergunta é a seguinte: Como eu determino qual processo está causando o pico da CPU sem estar fisicamente presente? Eu realmente não quero ter que entrar no servidor às 2 da manhã

Atualizar : Acontece que o problema estava no produto em que estou trabalhando. O problema começou a se manifestar durante as horas normais de trabalho, e afinal de contas eu não precisei confiar em alguma técnica de investigação de desempenho sorrateira.

    
por CadentOrange 25.09.2011 / 21:18

1 resposta

7

Aqui estão algumas opções; o mais fácil é o Process Explorer se o uso da CPU for significativo, senão você provavelmente desejará ver um gráfico no Process Monitor. Eu sinto que o culpado mais provável é um back-up ou uma atualização, então você pode querer ver quando eles estão agendados. O agendador de tarefas é mostrado quando as tarefas foram executadas pela última vez ...

Sem rastro

Baseado em um evento

  • O

    ProcDump pode criar arquivos de despejo automaticamente com base em coisas como alto uso da CPU.

    Uma vantagem de ter um despejo é que você, na verdade, um desenvolvedor pode depurá-lo no WinDBG .

Com um traço

  • Process Monitor , defina-o para manter um monte de histórico e permitir que ele registre apenas os eventos de criação de perfil.

    1. Nas Opções, você pode definir a profundidade do histórico e ativar a geração dos eventos de criação de perfil.

    2. Em seguida, desative os botões E / S, Registro e Rede.

  • O Windows Performance Toolkit possui o XPerf, que permite obter rastreios avançados.

    Isso pode ser difícil pela primeira vez, então você pode querer experimentar o Process Monitor primeiro ...

por 25.09.2011 / 22:18