> 文档中心 > getdelays 工具使用

getdelays 工具使用

 

1. getdelays 工具使用

任务在等待某些内核资源可用时,会造成延时。例如一个可运行的任务可能会等待一个空闲CPU来运行。
 

1.1 getdelays工具 生成使用

#下载内核源码 比如 :linux-5.8.6 :https://download.csdn.net/download/tan1666/82501446cd  linux-5.8.6/tools/accountinggcc -I/usr/src/linux/include getdelays.c -o getdelays# pid 查看  ps aux #   -d: print delayacct stats    - p   pid     sudo ./getdelays  -d -p 12

在这里插入图片描述

CPU count real total virtual total delay total delay average
内核中的来源 task->sched_info.pcount task->utime + task->stime task->se.sum_exec_runtime task->sched_info.run_delay task->cpu_delay_total/1000000/task->cpu_count



如何计算得来的, 2.1 技术参考 该链接有详细介绍。 这里我就记录我认为重点部分。

task->delays->blkio_count
task结构体所在路径:
在这里插入图片描述在这里插入图片描述

表项 功能
IO delay 表示一个任务task等待IO资源而阻塞的次数和任务等待IO阻塞的时间。
SWAP delay 表示一个任务task访问的内存在交换设备上时产生的swapin次数和任务等待内存swapin的延迟时间。
RECLAIM delay 表示一个任务task分配内存时产生的内存回收次数和任务等待内存回收的延迟时间。
THRASHING delay 表示一个任务task在访问刚刚被加入非活跃状态缓存页(页颠簸)的次数和等待时间。

 

2. 总结

了解了该工具得使用。 那该工具什么时候使用,如何使用?留着后期做分析。😦

进入linux大门可以看哈这个视屏:https://ke.qq.com/course/417774?flowToken=1042383
学习还是得靠自己。❤️

 

2.1 技术参考

参考链接1:https://www.cnblogs.com/liuhailong0112/p/15379397.html