Compreendendo o formato de tempo decorrido do ps para processos de execução longa

9

Estou usando o comando ps como parte de um exercício para identificar processos que duram mais que um determinado limite.

Estou usando o modelo a seguir para obter o tempo decorrido de um comando de processo de conhecimento:

ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}'

Observo com processos de execução curta, o valor de etime (tempo decorrido) assume o formato minutes:seconds e, a partir disso, posso determinar facilmente quanto tempo um processo está sendo executado.

Para processos muito longos (dias longos), não entendo o formato.

Eu tenho um processo do servidor MySQL que htop mostra como sendo executado por 126 horas.

A execução de ps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}' me dá um valor de 9-03:35:32 .

Meu melhor palpite é que isso significa 9 algo, 3 horas, 35 minutos, 32 segundos. Eu não consigo descobrir o que as unidades são para o 9.

O processo em questão está em execução há 126 horas, cerca de 5,25 dias. Isso sugere que o 9 na saída acima não representa dias. Eles não podem durar meio dia ou (9 * 12) horas + 3 horas + 35 minutos + 32 segundos é menos que 5 dias.

Como interpreto o valor de tempo decorrido que estou vendo para processos de longa duração? Quais unidades acompanham o 9 na saída acima?

    
por Jon Cram 01.11.2012 / 12:57

1 resposta

13

De acordo com o padrão :

In the POSIX locale, the elapsed time since the process was started, in the form:

[[dd-]hh:]mm:ss

where dd shall represent the number of days, hh the number of hours, mm the number of minutes, and ss the number of seconds. The dd field shall be a decimal integer. The hh, mm, and ss fields shall be two-digit decimal integers padded on the left with zeros.

Então, o 9 significa dias, acredite ou não. Você poderia estar interpretando mal a saída do htop? O que top (que tem um formato de hora de minutes:seconds ) diz? Você tem certeza de que o campo que você está vendo no htop é equivalente ao etime? (por exemplo, isso poderia significar 126 minutos de CPU tempo?)

    
por 01.11.2012 / 13:07

Tags