Como eu leio htop

9

Estou tendo problemas para entender as informações exibidas por htop o substituto popular para o comando top do Linux.

Na captura de tela acima, há muitas instâncias de java listadas, mas somente a mãe pai usa o tempo de CPU. Quais são os outros?

Por que as barras de utilização da CPU mostram esses núcleos ocupados quando a coluna% da CPU não mostra muita coisa acontecendo em todos os processos? Na verdade, eles se movem sem correlação na maior parte do tempo.

Por que a média de carga, no canto superior direito, que eu suponho ser um histórico de 3 etapas, é tão baixa quando os núcleos são quase sempre verdes e parecem ocupados?

Alguém seria tão gentil para explicar como ler esta informação?

Obrigado!

    
por Luke Puplett 23.01.2013 / 02:54

1 resposta

5
  1. Com relação a "Carregar" e% da CPU, wikipedia tem explicação detalhada e exemplos, segue uma parcial citação

    An idle computer has a load number of 0 and each process using or waiting for CPU (the ready queue or run queue) increments the load number by 1. Most UNIX systems count only processes in the running (on CPU) or runnable (waiting for CPU) states. However, Linux also includes processes in uninterruptible sleep states (usually waiting for disk activity), which can lead to markedly different results if many processes remain blocked in I/O due to a busy or stalled I/O system. This, for example, includes processes blocking due to an NFS server failure or to slow media (e.g., USB 1.x storage devices). Such circumstances can result in an elevated load average, which does not reflect an actual increase in CPU use (but still gives an idea on how long users have to wait).

    Systems calculate the load average as the exponentially damped/weighted moving average of the load number. The three values of load average refer to the past one, five, and fifteen minutes of system operation.

    For single-CPU systems that are CPU bound, one can think of load average as a percentage of system utilization during the respective time period. For systems with multiple CPUs, one must divide the number by the number of processors in order to get a comparable percentage.

    As barras podem estar ocupadas, mas nunca chegam a 100%, o que indica que o cpu / core é totalmente utilizado. A barra é apenas uma visualização da utilização da CPU%, que são de 27%, 26,5%, 24,5%, 24,7% e 71,7%. Todos os núcleos de cpu ainda têm poder para "poupar". Eles estão todos subutilizados nesse ponto.

    Um sistema de 5 núcleos / cpu totalmente utilizado terá carga 5 ou superior.

  2. Com relação às linhas Java, elas são pai (PID = 5073) e processos filhos. Não consigo explicar por que os pais acumulam o maior tempo de CPU. Isso realmente depende da lógica interna do programa. No entanto, de acordo com o TIME +, esses processos filhos consumiram o tempo de CPU, com o último (PID = 5074) mais acumulado.

por 23.01.2013 / 04:34

Tags