我在zsh中运行
time MYPROGRAM
在我的 MacBook 上,其中 MYPROGRAM 是一些仅具有少量文件访问权限的 Java 应用程序,我得到的输出是
58.30s user 2.11s system 257% cpu 23.499 total
根据我的理解,这意味着挂钟时间是58秒,CPU时间是23秒,系统时间是2秒。为什么他们的数字 (2+23) 加起来不等于大约 58 秒?根据活动监视器,我的 CPU 大约有 95% 空闲,因此其他进程不应占用大量挂钟时间。那么在这缺失的 33 秒期间我的电脑在做什么?
程序的输入文件总共约3MB,输出是约100KB的磁盘文件,所以我理解硬盘也有一些等待时间,但能有那么多吗?
恰恰相反。挂钟时间是 23.5 秒,CPU 时间是 58.3 秒(它比挂钟时间要长,因为你有几个核心)。