- 主题:问个Linux perf工具的问题
你的程序里肯定有定时sleep这类的逻辑吧
【 在 wjhtingerx 的大作中提到: 】
: 通过perf record和perf report, 发现sys_nanosleep这个调用占比很高,达到6/7%.
: sys_nanosleep是休眠的,为啥CPU占比这么高呢?难道是频繁调用这个函数导致的?
: # Children Self Samples Command Shared Object Symbol
: ...................
--
FROM 182.140.153.*
sleep这个调用操作本身 占cpu啊, 你这个程序比较空闲吧,sleep占几个点很正常
【 在 wjhtingerx 的大作中提到: 】
: 对啊,有,但是sleep本身又不占cpu
:
: :
--
FROM 182.140.153.*
.....
你这个是server程序吧,怎么可能是1次操作,你可以加点统计,每秒执行了多少次吧
【 在 wjhtingerx 的大作中提到: 】
: 一个操作怎么可能占那么多cpu?
: :
--
FROM 182.140.153.*
因为这个操作属于系统调用,会导致用户态和内核态的切换(保存上下文巴拉巴拉的...),它的开销和普通函数完全不是一个级别
【 在 wjhtingerx 的大作中提到: 】
: 既然是sleep,就是间歇性操作,比如睡个几十毫秒再起来,这种操作怎么可能占比高
:
: :
--
FROM 182.140.153.*