是否可以通过Linux实时监控进程的调度?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了是否可以通过Linux实时监控进程的调度?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2420字,纯文字阅读大概需要4分钟。
内容图文
![是否可以通过Linux实时监控进程的调度?](/upload/InfoBanner/zyjiaocheng/955/c8a1d444ec524c2b9e35d95db71c4c3b.jpg)
我正在尝试使用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的其他跟踪工具或调度工具来确定这一点?
任何指导都非常感谢.
请告诉我是否还有其他需要提供的东西.
提前致谢.
编辑:使用kernelshark,
我想确切地知道,对于其他进程,cpu何时为每个任务完成一次迭代.
解决方法:
I want to just see how processes are scheduled in cores. i.e, Process1 released at 0.30, then Process2 started at 0.70 (system timer values) etc.
这称为跟踪,通常在用户请求后在内核中完成. Linux中有几个内核事件跟踪器.尝试
> perf sched(man,lwn commit;也是http://www.brendangregg.com/perf.html#SchedulerAnalysis)使用perf sched record sleep 2然后perf sched脚本来获取日志
>一些其他用于跟踪的perf命令,如perf record -e’ssched:sched_process_ *’-a sleep 2 perf脚本(从http://www.brendangregg.com/perf.html开始)
> trace-cmd(man;基于ftrace – https://lwn.net/Articles/608497/ https://events.linuxfoundation.org/slides/2010/linuxcon_japan/linuxcon_jp2010_rostedt.pdf):trace-cmd记录-e sched ./program / trace-cmd记录-e sched_switch …,trace-cmd报告(或安装和使用kernelshark GUI – https://lwn.net/Articles/425583/ http://static.lwn.net/images/2011/ks-success.png)
>还有像LTT / LTTng(wiki,website)这样的特殊示踪剂.它具有Eclipse(Trace Compass)的GUI插件:https://wiki.eclipse.org/images/4/49/X-axis-alignment-full-histogram-axis-bottom.png,包含流程图和CPU图随时间变化
>我认为,sysdig也可能跟踪调度程序……
Gregg有一些关于Linux追踪的信息(带有“小马玉米吉祥物”魔法):http://www.brendangregg.com/blog/2015-07-08/choosing-a-linux-tracer.html(应该有关于https://www.slideshare.net/brendangregg追踪的一些介绍)……
Is something like this possible by monitoring kernel folders such as ‘/proc’
/ proc没有inotify(它里面没有真正的目录或真实文件:https://stackoverflow.com/a/24898733),所以你无法监视更改,你只能定期重读一些/ proc(或some / sys).
内容总结
以上是互联网集市为您收集整理的是否可以通过Linux实时监控进程的调度?全部内容,希望文章能够帮你解决是否可以通过Linux实时监控进程的调度?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。