Encontre o gargalo: disco I / O no Windows XP

6

Uma de nossas caixas de desenvolvimento desenvolveu um problema em que o desempenho ocasionalmente cai no chão. Quando isso acontece, você pode ouvir o disco rígido se debatendo, mas não sei o que está causando isso.

Isso acontece durante períodos de alto acesso ao disco (leitura / gravação de arquivos de vários gigabytes), mas nem sempre, nem durante todo o período de acesso ao disco. Esses arquivos também são mantidos rigorosamente desfragmentados especificamente para evitar o tipo de "surra de busca" que parece estar ocorrendo.

Eu suspeito que o problema esteja no antivírus do sistema ou em algum serviço de indexação de disco que eu não conheço (AFAIK, não há nenhum em execução, mas…). Infelizmente, meu Performance Monitor-fu é muito, muito fraco (ok, quase inexistente), e eu não sei como confirmar / refutar minhas suspeitas ou descobrir qual é o verdadeiro culpado.

Atualização:

O

Process Explorer localizou os culpados para mim - os serviços Java Quick Starter e Windows Search. Desligar o primeiro teve um impacto perceptível no desempenho e desligar o último teve um impacto enorme (apesar de não ter recebido nenhum arquivo para acessar). Ambos estavam realizando 5-20 vezes mais acesso a disco que qualquer outro processo.

Obrigado por sua ajuda!

    
por Ben Blank 30.05.2009 / 02:32

6 respostas

10

Faça o download do Process Explorer (sysinternals / microsoft).

Em Visualizar, Selecionar colunas, Desempenho do processo, escolha, por exemplo IO Write Bytes, IO Read Bytes.

Você pode clicar nas colunas para classificar.

    
por 30.05.2009 / 08:13
3

A SysInternals tem algumas ferramentas que podem ajudar aqui. Sua ferramenta PerfMon lhe dará detalhes (exaustivos) sobre o que está acessando o quê. Se realmente é uma ferramenta AV fazendo uma varredura, ela deve aparecer de forma impressionante, obviamente. Se for uma tarefa do Windows em segundo plano, as coisas ficam um pouco mais complicadas, mas esses acessos também aparecem lá. Mesmo que seja menos óbvio qual serviço é responsável.

    
por 30.05.2009 / 02:37
1

Eu tenho usado o Sysinternals FileMon com sucesso para descobrir qual programa está fazendo muito I / O e com quais arquivos. Por exemplo, quando mudei para um SSD com desempenho de gravação aleatória ruim (4 IOPS, OCZ Core v1), o FileMon me disse quais programas estavam fazendo a gravação e eu podia mover esses arquivos do SSD para outro HDD. Ele também me ajudou a descobrir que a atualização dos carimbos de data / hora do último acesso estava acabando com o desempenho (quando o Locate32 indexa todos os meus discos uma vez por dia), por isso consegui desativar o último registro de data e hora de acesso.

    
por 30.05.2009 / 11:13
1

Para verificar um problema de E / S de disco, você deve começar monitorando o tamanho do disco lógico / da fila de disco atual em cada unidade no Monitor de desempenho. Isso geralmente deve permanecer em zero, a menos que você tenha vários processos acessando o disco. E / S excessiva ou baixo desempenho do disco aumentarão o tamanho da fila.

Depois de verificar um problema de E / S, use algo como FileMon ou Monitor de processos para a Microsoft ( Sysinternals ) para ver qual processo está causando a atividade.

Se você não vir um processo correspondente à E / S, talvez seja um problema de arquivo de página / memória. Volte para o Monitor de desempenho e adicione a memória / páginas por segundo. Isso mostrará com que frequência um processo precisa ir para o disco para a memória da página na RAM. Se isso está segurando acima de zero, então você precisa de mais memória ou um aplicativo tem um vazamento de memória. Para encontrar o vazamento de memória, use o processo / páginas por segundo para ver qual processo está forçando as páginas.

    
por 30.05.2009 / 05:24
0

Você pode configurar o Perfmon para acionar comandos quando determinados limites forem atendidos, de modo que o DLux sugeriu monitorar o Comprimento da Fila de Disco Atual e, se atingir 3 ou 4, configurá-lo para acionar um arquivo em lotes. O arquivo em lotes pode acionar um utilitário como o filemon, que pode registrar todos os arquivos acessados pelo sistema e que deve dar uma idéia melhor do que o sistema está acessando.

    
por 30.05.2009 / 06:53
0

Um possível culpado pode ser o uso excessivo de arquivos de paginação. Você pode usar o PerfMon para rastrear falhas de página por segundo. Se estes subirem quando o seu desempenho cair, há a sua resposta.

    
por 30.05.2009 / 08:34