Skip to content
阅读进度

如何理解案例:Binder 耗时与服务端 CPU 时间? ​

返回 Framework 与系统服务 目录

标准回答 ​

先确定9ms统计的是服务端CPU运行,还是整个处理切片;两者不能混用。把事务拆成等待服务线程、服务端运行、服务端阻塞、回复和客户端恢复几段,确定160ms主要落在哪。

若服务线程在等锁,找锁持有者;若池中线程都被其他长调用占住,分析请求来源与下游依赖;若回复已发出而主线程仍未运行,继续查客户端调度。也要核对关联的是同一个事务而非同名方法。

修复可能是缩短锁、减少IPC往返、拆分同步依赖或隔离服务任务。只增加线程池或改oneway都不能保证业务结果更早可用。

追问与回答 ​

服务端9ms已经很快,能归因应用吗 ​

不能。服务端排队与锁等待仍可能占大量时间。必须看完整经过时间与依赖,不按CPU时间判责任。

内容来源 ​

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