开发者社区> 问答> 正文

Linux多核环境下如何查看进程切换信息

如题,一台多核的机器,我用taskset命令绑定了两个进程到一个核上面,我想获得以下信息:

每个进程占用的详细时间片
每个进程详细的上下文切换时间
每个进程的上下文切换次数

vmstat可以统计整个CPU的cs次数,但是好像没有工具针对单个核做这个事情的,请问有没有类似工具或脚本?

补充下:
内核版本为:2.6.18-348.12.1.el5

展开
收起
a123456678 2016-06-16 17:31:08 2235 0
1 条回答
写回答
取消 提交回答
  • [root@linux tracing]# pwd 
    /sys/kernel/debug/tracing 
    [root@linux tracing]# echo 0 > tracing_enabled 
    [root@linux tracing]# echo 1 > /proc/sys/kernel/ftrace_enabled 
    [root@linux tracing]# echo sched_switch > current_tracer 
    [root@linux tracing]# echo 1 > tracing_on 
    [root@linux tracing]# echo 1 > tracing_enabled 
    
    # 让内核运行一段时间,这样 ftrace 可以收集一些跟踪信息,之后再停止跟踪
    
    [root@linux tracing]# echo 0 > tracing_enabled 
    [root@linux tracing]# cat trace | head -10 
    # tracer: sched_switch 
    # 
    #  TASK-PID    CPU#    TIMESTAMP  FUNCTION 
    #     | |       |          |         | 
    bash-1408   [000] 26208.816058:   1408:120:S   + [000]  1408:120:S bash 
    bash-1408   [000] 26208.816070:   1408:120:S   + [000]  1408:120:S bash 
    bash-1408   [000] 26208.816921:   1408:120:R   + [000]     9:120:R events/0 
    bash-1408   [000] 26208.816939:   1408:120:R ==> [000]     9:120:R events/0 
    events/0-9  [000] 26208.817081:      9:120:R   + [000]  1377:120:R gnome-terminal
    events/0-9  [000] 26208.817088:      9:120:S ==> [000]  1377:120:R gnome-terminal
    2019-07-17 19:41:34
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
从 Linux 系统内核层面来解决实际问题的实战经验 立即下载
从Linux系统内核层面来解决实际问题的实战经验 立即下载
ECS系统指南之Linux系统诊断 立即下载