É possível monitorar como um processo é planejado em tempo real com o Linux?

0

Estou tentando desenvolver um sistema multiprocessos com o RaspberryPi, no qual quero monitorar todos os principais processos e como eles são planejados usando o Linux. Ou seja, obtendo estados do agendador, horário de início, horário de lançamento, etc. Eu tenho mexido na pasta '/ proc' para encontrar essa informação, mas ainda não consegui encontrar nada realmente útil.

Por exemplo, se você entrar em / proc / pid / task / pid, poderá ver:

se.exec_start
se.vruntime
se.sum_exec_runtime
se.statistics.wait_start
se.statistics.sleep_start
se.statistics.block_start
se.statistics.sleep_max
se.statistics.block_max
se.statistics.iowait_sum
se.statistics.wakeups

e assim por diante. Agora, parece que eu estou tramando algo, mas não está claro o suficiente. Eu quero apenas ver como os processos estão agendados nos núcleos. isto é, Process1 liberado em 0,30, então Process2 iniciado em 0,70 (valores de timer do sistema), etc.

É algo assim possível monitorando pastas do kernel como '/ proc'? Se não, existe uma maneira de determinar isso usando outras ferramentas de rastreamento ou ferramentas do planejador para o Linux?

Qualquer orientação é muito apreciada. Por favor, diga-me se há algo mais que eu preciso fornecer.

Obrigado antecipadamente.

    
por mozcelikors 02.03.2017 / 12:18

1 resposta

0

todo processo é diferente no que começa e como / porque termina. parece que o que você está tentando fazer é praticamente impossível, a menos que você queira olhar para as chamadas que um processo está fazendo, nesse caso você pode usar strace e classificar através da saída para ver o que está fazendo exatamente.

    
por 02.03.2017 / 12:58