Fetch the repository succeeded.
基于eBPF实现的监控指定任务调度延迟大(运行队列长)的工具 runqslower监控的是已经就绪(处于运行状态)的任务,但是由于各种原因(如就绪队列上排队任务太多等因素)导致被监控任务长时间无法得到CPU资源运行的情况。
sysak runqslower [-s SPAN] [-t TID] [-f ./runqslow.log] [-P] [threshold]
threshold 门限:触发任务被抢占记录的门限值,单位ms; 可选,默认50ms
-f log文件: 将log记录到指定文件; 可选,默认在/var/log/sysak/runqslow/runqslow.log
-s durations:设置该程序运行多长时间,单位秒; 可选,默认永远运行
-t tid: 过滤选项,指定被监控的现场ID; 可选,默认监控所有的线程
-P : 日志中记录上次抢占的任务信息; 可选。
下面的例子使用runqslower对线程1001按照门限20ms采样30秒,采样的结果存放在当前目录a.log文件中
$sudo sysak runqslower -f a.log -s 30 -t 1001 20
上面结果a.log输出说明如下:
时间戳 发生CPU 任务名字 线程ID 抢占延时
\ | | |
TIME(runslw) CPU COMM TID LAT(ms)
2022-05-29_11:50:58 0 test 535832 20
上面的日志记录了任务1001被长时间抢占的现场信息。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。