Skip to content
阅读进度

如何理解Runnable 延迟的成因? ​

返回 性能与稳定性 目录

标准回答 ​

Runnable表示线程已经具备运行条件,但没有立即执行。查看唤醒时间、真正上CPU时间、所在核心及同核心竞争线程,确认是否大量工作抢占或关键线程只能使用繁忙的小核。

继续查优先级、调度策略、进程所处的task profile、cpuset或quota限制、CPU在线状态,以及厂商调度和功耗策略。总CPU负载不高也可能有局部排队;频率低主要影响获得CPU后的执行速度,不能直接等同于调度等待。

优化应指向证据,例如减少后台并发、修正错误分组、消除不必要唤醒。没有权限或平台证据时,不建议直接把线程设成最高优先级。

追问与回答 ​

怎样算唤醒延迟 ​

从线程进入可运行状态到对应的首次实际运行计算,处理重复唤醒和生命周期;Trace中结合sched_waking和sched_switch,不能随便拿两个相邻事件相减。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。