为什么挂钟比cpu用户/内核时间高得多

时间:2013-08-01 08:40:19

标签: c++ linux page-fault cpu-time

在我用C ++编写的应用程序中,我得到的时间信息不足。

0.46u CPU user time
1.27s CPU kernel time
41.83s Real wall clock
4% CPU% usage.
0 Major page faults
207848 No. of file system outputs.
100269 minor page faults.
82: No. of times the process was context switched involuntarily.
1297 No. of times that the program was context-switched.

即使没有严重的页面错误,这么长的时间可能是什么原因?

1 个答案:

答案 0 :(得分:2)

因为你的代码花了很多时间做磁盘I / O并“等待”:

207848 No. of file system outputs.
100269 minor page faults.
82: No. of times the process was context switched involuntarily.
1297 No. of times that the program was context-switched.

所有这些活动(除了“没有时间进程是非自愿地进行上下文切换”)表明你的进程正在等待硬盘提供某些东西或接受某些东西。

此外,您的代码在内核模式下花费更多时间,然后是用户模式,这是您的代码执行大量磁盘I / O(或其他I / O)的另一个迹象。