KernelShark分析内核任务执行过程

一、KernelShark简介

KernelShark是一个非常实用的工具,其可以搭配 trace-cmd 使用,将内核的任务执行过程以直观的形式展现出来。下面的文档中详细的介绍了KernelShark的使用方法和功能,这里不再详细描述

https://www.kernelshark.org/Documentation.html

二、必要的组件安装

安装KernelShark

sudo apt-get install kernelshark

安装trace-cmd

sudo apt-get install trace-cmd

三、获取内核任务执行信息

1.使用 trace-cmd 进行追踪(通常在root权限下)

trace-cmd 会追踪当前状态下的内核中进行的所有任务进行追踪,也可以通过特定的参数来指定不同跟踪对象,下面的文章中有详细的描述。

ftrace利器之trace-cmd和kernelshark

我们这里只对进程切换事件(sched_switch)和进程唤醒事件(sched_wakeup)进行跟踪,

trace-cmd record -e sched_switch -e sched_wakeup

追踪时进程处于阻塞状态,需要我们手动停止(Ctrl + C)

 追踪结束后会在当前目录生成 trace.dat 文件,里面记录了追踪得到的结果。

2.使用 KernelShark 分析追踪结果

kernelshark 可以将 trace-cmd 生成的文件图像化,并进行相应的分析操作。

kernelshark trace.dat

图形化界面如下:

 不同颜色的任务条代表着不同的任务,可以通过鼠标点击在表格中锁定该任务的详细信息,还可以对任务进行搜索和筛选,详见 KernelShark 文档 https://www.kernelshark.org/Documentation.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值