determina se os encadeamentos de uma cpu estão bloqueados? Quais são as causas dos blocos de threads?

1

A média de carga relatada pelo comando uptime também exibida em top fornece o comprimento médio da fila de execução ao longo do tempo (1, 5 e 15 minutos)
O comprimento da fila de execução é a soma do número de encadeamentos (tarefas) que estão atualmente em execução, mais o número que está aguardando (enfileirado) para ser executado.
run-queue length = tasks running + tasks waiting (for cores) + tasks blocked

Um dos motivos mais comuns para tarefas bloqueadas são os discos lentos / ocupados. Enquanto o campo de estado (STAT) de ps aux fornecerá um "D" quando um processo estiver em espera ininterrupta de disco / espera. Mas provavelmente existem outros casos em que um processo seria bloqueado.

Perguntas

  1. Existe alguma maneira de obter informações mais detalhadas sobre os componentes específicos da fila de execução da CPU. Por exemplo. uma listagem que é dividida: tarefas em execução + tarefas em espera (para núcleos) + tarefas bloqueadas?

  2. Quais outras utilidades além do campo de estado em ps podem ser usadas para determinar quais tarefas estão bloqueadas? Quais condições diferentes de discos ocupados podem fazer com que as tarefas sejam bloqueadas & Quais utilidades devem ser usadas para determinar se essas condições existem?

Obrigado!

    
por Manchego 10.06.2015 / 17:42

0 respostas