加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 确定进程花费阻塞/执行的时间

发布时间:2020-12-13 19:36:16 所属栏目:Linux 来源:网络整理
导读:好吧,对于我的编程任务(是的,我们都可以转向我们认为适合帮助的任何源)我必须找出进程花费阻塞/休眠/运行的时间. 我的第一次尝试是创建一个bash脚本看起来像这样: for i in `ls /proc/ | egrep [0-9]+`do cat /proc/$i/status | grep Statedone 但后来所有

好吧,对于我的编程任务(是的,我们都可以转向我们认为适合帮助的任何源)我必须找出进程花费阻塞/休眠/运行的时间.

我的第一次尝试是创建一个bash脚本……看起来像这样:

for i in `ls /proc/ | egrep [0-9]+`
do
        cat /proc/$i/status | grep State
done

但后来所有问题都报告了睡眠状态.加上这种方法需要我疯狂地进行调查……所以运行测试可能会改变结果……(呃)

现在用syscalls编译新版本的linux或者跟踪进程状态的方法并不是不可能的.我唯一担心的是试图找出如何跟踪不断变化的过程状态,并确保我不会错过任何东西……

最佳答案
你可以使用’时间’

 $time ls /usr/bin

 real    0m4.756s
 user    0m0.051s
 sys     0m0.078s

real – sys =等待I / O的总时间(睡眠/阻塞)

sys – user =系统调用所花费的时间

user =仅在程序中执行指令所花费的时间(可能包括动态链接开销,不确定)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读