gpt4 book ai didi

linux - 确定进程花费在阻塞/执行上的时间量

转载 作者:IT王子 更新时间:2023-10-29 01:00:10 27 4
gpt4 key购买 nike

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

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

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

但随后所有的问题都报告 sleep 状态。另外,这种方法需要我疯狂地轮询……所以运行测试可能会改变结果……(呃)

现在使用系统调用或跟踪进程状态的方法编译新版本的 Linux 并非不可能。我唯一担心的是试图找出如何跟踪不断变化的过程状态并确保我不会错过任何东西......

最佳答案

你可以使用'时间'

 $ time ls /usr/bin

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

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

sys - user = 花在系统调用上的时间

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

关于linux - 确定进程花费在阻塞/执行上的时间量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/772972/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com