Medir unidades em / proc / pid / schedstat

1

Eu preciso obter estatísticas de / proc / pid / schedstat para um processo específico.

Aqui link , encontrei a descrição dos campos.

O que são unidades de medida de (1) tempo gasto na CPU e de (2) tempo gasto esperando em uma fila de espera? Como convertê-los em segundos? Eles são medidos em ticks de clock e eu deveria dividi-los por sysconf (_SC_CLK_TCK) ?

    
por Seleznev Anton 22.01.2018 / 08:09

1 resposta

0

De acordo com o documento, a unidade de tempo é "jiffies" Como em "Eu estarei lá em um instante!" :)

Um instante é igual ao tempo que a luz leva para percorrer um centímetro no vácuo ou aproximadamente 33,3564 picossegundos. - Wikipedia

Mas essa não é a definição que você quer. Experimente este post link onde a resposta principal diz

The size of a jiffy is determined by the value of the kernel constant HZ.

The value of HZ varies across kernel versions and hardware platforms. On i386 the situation is as follows: on kernels up to and including 2.4.x, HZ was 100, giving a jiffy value of 0.01 seconds; starting with 2.6.0, HZ was raised to 1000, giving a jiffy of 0.001 seconds. Since kernel 2.6.13, the HZ value is a kernel configuration parameter and can be 100, 250 (the default) or 1000, yielding a jiffies value of, respectively, 0.01, 0.004, or 0.001 seconds. Since kernel 2.6.20, a further frequency is available: 300, a number that divides evenly for the common video frame rates (PAL, 25 HZ; NTSC, 30 HZ).

E conclui: "Apenas divida por Hertz".

    
por 22.01.2018 / 09:28

Tags