Estabelecendo Padrões de E / S para um Aplicativo

1

Existe alguma ferramenta de sistema que permita o perfil do uso de armazenamento de um aplicativo? Basicamente, estou procurando informações sobre como determinar se há mais leituras sequenciais grandes, minúsculas leituras sequenciais, gravações aleatórias com retrocessos, etc.

    
por Bratchley 03.04.2013 / 19:19

1 resposta

1

Eventualmente encontrou a resposta. É óbvio e estou um pouco envergonhado por não ter pensado nisso antes. Mas aqui vai: Basicamente o blktrace / blkparse são os comandos que estamos procurando. Esta é a ideia geral da qual estou me baseando , mas eu posso canalizar a saída do blktrace para blkparse, em seguida, salvar a saída do blkparse para um arquivo. Quando a criação de perfil estiver concluída, posso examinar os logs de atividades na parte superior, filtrando os pids nos quais estou interessado com o awk. Salvar toda a saída em um arquivo é para que eu possa usar o awk para filtrar os PIDs, mas também posso usar sua seção de resumo no final.

Basicamente, a saída regular do log de atividades do blkparse são linhas como esta:

  8,0    3      523    55.007588437 22191  M  WS 548087528 + 8 [qemu-kvm]

"22191" é o PID e "M" significa que foi novamente mesclado com um pedido já emitido para o dispositivo, "WS" significa que foi uma gravação síncrona começando no setor 548087528 e indo para mais oito setores. Mais informações sobre o blktrace podem ser encontradas no manual de usuários .

Achei que eu postaria isso para a posteridade.

    
por 04.04.2013 / 19:56