我怀疑我对运行 GNU 命令的输出的理解time
是否正确。我现在想知道 CPU 百分比实际上表示什么。
在 macOS 上,我使用 homebrew 安装了 GNUtime
实用程序gtime
,并运行了一个非常简单的命令来检查其功能:
/usr/local/bin/gtime -f '\ntime: system %S user %U elapsed %e CPU %P \nstat: %x' echo hi
hi
time: system 0.00 user 0.00 elapsed 0.00 CPU 100%
stat: 0
使用相同的实用程序和更少的标志运行更简单的命令:
/usr/local/bin/gtime echo hi
hi
0.00user 0.00system 0:00.00elapsed 75%CPU (0avgtext+0avgdata 676maxresident)k
0inputs+0outputs (1major+420minor)pagefaults 0swaps
手册页指出
%S 系统(内核)时间(秒)
%P 此作业占用的 CPU 百分比
%U 用户时间(秒)
这是否意味着该命令效率低下,使用了 100% 的 CPU,还是意味着它非常高效,或者两者都不是。
我已经运行了一些其他更为复杂的 shell 脚本gtime
,它们显示了一系列CPU 5%
–CPU 9%
这让我问了这个问题。