理解 `time` 命令的输出

问题描述 投票:0回答:1

我在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的磁盘文件,所以我理解硬盘也有一些等待时间,但能有那么多吗?

java performance time
1个回答
0
投票

恰恰相反。挂钟时间是 23.5 秒,CPU 时间是 58.3 秒(它比挂钟时间要长,因为你有几个核心)。

© www.soinside.com 2019 - 2024. All rights reserved.