我正在尝试开发一个RaspberryPi多进程系统,在这个系统中我想监视所有主要进程以及如何使用Linux进行计划。也就是说,获取调度程序状态,开始时间,发布时间等。为了找到这样的信息,我一直在搞'/ proc'文件夹,但到目前为止我还没有找到真正有用的东西。是否可以通过Linux实时监控进程是如何实时调度的?
例如,如果你进入的/ proc/PID /任务/ 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的另一个跟踪工具或调度程序工具来确定?
任何指导都非常感谢。 请告诉我,如果有什么我需要提供。
在此先感谢。
我想找出到底,其他进程也确实CPU完成一次迭代每个任务的时候。
嗯抱歉,延迟回复。我今天会尝试这些,并让你知道。 – mozcelikors
@mozcelikors,您是否想要自动监控应用程序的调度,或者您需要一些工具来多次调查手动模式下的调度? – osgx
调查为我工作。您的perf perf sched的建议看起来像我想要的。让我问一下我的担忧:看到perf sched map确实有助于可视化细节,但是我可以获得这些进程的发布,开始和结束时间(并行计算术语)。另外,是否需要多次调查?我想假设一个创举应该让我了解流程。 – mozcelikors