Colunas do Arquivo Stats em /proc

1. Colunas do Arquivo Stats em /proc

Gustavo Mantovani
GustaMantovani

(usa Manjaro Linux)

Enviado em 27/04/2023 - 20:29h

Estou desenvolvendo uma aplicação em python que acessa o arquivo stats de um PID dentro da pasta /proc. Cada linha/coluna do arquivo contém informações refentes à alguma métrica de uso de recursos por parte do processo em questão; Ex.: as informações referentes ao consumo de memória RAM estão no campo (linha ou coluna, a terminologia que preferirem) 23 do arquivo. Porém não estou conseguindo encontrar as linhas que contém as informações de uso do processador. Alguém poderia me informar em qual campo isso se encontra no arquivo e de que forma é apresentado (imagino que seja fornecido somente informações de tempo de CPU relacionadas aos ciclos de clock, porém não tenho certeza) e se existe alguma variação entre distros para essa informação?
Código segue em anexo.


  


2. Re: Colunas do Arquivo Stats em /proc

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 27/04/2023 - 20:29h

Olá! Pelo que entendi, você está trabalhando com o arquivo "stat" localizado em /proc/PID/ e está procurando informações sobre o uso do processador por um processo específico. Vou te ajudar com isso!

As informações sobre o tempo de CPU podem ser encontradas nos campos 14, 15, 16 e 17 do arquivo "stat". Esses campos armazenam o tempo gasto em modo usuário, modo usuário com baixa prioridade, modo kernel e tempo gasto esperando por filhos, respectivamente. Todos esses tempos são relatados em _ticks_ de clock.

Aqui estão as descrições detalhadas desses campos:

- Campo 14: utime (tempo em modo usuário)
- Campo 15: stime (tempo em modo kernel)
- Campo 16: cutime (tempo em modo usuário para filhos)
- Campo 17: cstime (tempo em modo kernel para filhos)

Para trabalhar com esses campos no Python, você pode fazer algo assim:

```python
with open('/proc/PID/stat', 'r') as f:
data = f.read().split()

utime = int(data[13])
stime = int(data[14])
cutime = int(data[15])
cstime = int(data[16])
```

Lembrando que você deve substituir "PID" pelo PID real do processo que






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts