Можно ли отслеживать, как процесс планируется в реальном времени в Linux?

Я пытаюсь разработать многопроцессорную систему с RaspberryPi, в которой я хочу отслеживать все основные процессы и то, как они планируются с использованием Linux. То есть получение состояний планировщика, времени начала, времени выпуска и т. Д. Я возился с папкой '/ proc', чтобы найти такую ​​информацию, но пока не смог найти ничего действительно полезного.

Например, если вы войдете в / proc / pid / task / pid, вы увидите:

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

и так далее. Похоже, я что-то замышляю, но недостаточно ясно. Я просто хочу посмотреть, как процессы распределяются по ядрам. то есть Process1 выпущен на 0.30, затем Process2 запущен на 0.70 (значения системного таймера) и т. д.

Возможно ли что-то подобное при мониторинге папок ядра, таких как '/ proc'? Если нет, есть ли способ определить это с помощью других инструментов трассировки или инструментов планировщика для Linux?

Любые рекомендации приветствуются. Скажите, пожалуйста, есть ли еще что-нибудь, что мне нужно предоставить.

Заранее спасибо.

0
02.03.2017, 13:18
1 ответ

каждый процесс отличается тем, что его запускает и как/почему он завершается. похоже, то, что вы пытаетесь сделать, практически невозможно, если только вы не хотите посмотреть на вызовы, которые делает процесс, в этом случае вы можете использовать strace и просмотреть вывод, чтобы увидеть, что именно он делает.

0
28.01.2020, 04:48

Теги

Похожие вопросы