[20210410]关于time命令的解析.txt

来源:这里教程网 时间:2026-03-03 16:37:05 作者:

[20210410]关于time命令的解析.txt --//在 Linux 下,可以通过 time 命令,很容易获取程序的运行时间: $ time echo 2^1000000 | bc > /dev/null real    0m4.117s user    0m4.105s sys     0m0.004s --//可以看到,real = user+sys,非常接近。 $ time sleep 4 real    0m4.002s user    0m0.000s sys     0m0.002s --//先来解释下这三个参数的含义: --//real:表示的钟表时间,也就是从程序执行到结束花费的时间; --//user:表示运行期间,cpu 在用户空间所消耗的时间; --//sys:表示运行期间,cpu 在内核空间所消耗的时间; --//对于运行sleep 4,基本不消耗CPU时间。这样两者差别就很大。而前者基本属于CPU的密集运算。real就非常接近user+sys。 --//会遇到 real 远远小于 user + sys 的场景吗?实际上并行计算就可能出现这样的情况。例子如下: $ time  seq 3 |  xargs -IQ -P 3 bash -c "echo 2^1000000 | bc > /dev/null " real    0m4.655s user    0m12.978s sys     0m0.018s --//在我的测试环境echo 2^1000000 | bc > /dev/null大约需要4秒多一点,如果有新设备,我经常使用这样简单的方式测试CPU计算性 --//能。而现在打开3个并行,你可以发现real 需要4.X秒。而user需要12.XXX秒完成。这样就出现 read远远小于user+sys的情况。

相关推荐