使用“time”命令进行测量,为什么与类似系统相比,该进程花费了这么多的系统时间

使用“time”命令进行测量,为什么与类似系统相比,该进程花费了这么多的系统时间

我有两个类似的系统,但其中一个运行速度有点慢,我不知道原因。

系统 1

time convert rose: -resize 5000x5000 -bench 5 /tmp/rose.png
Performance: 5i 0.221729ips 26.050u 0:22.549

real 0m22.554s
user 0m25.795s
sys 0m0.262s

系统 2

time convert rose: -resize 5000x5000 -bench 5 /tmp/rose.png
Performance: 5i 0.220167ips 28.710u 0:22.710

real 0m22.731s
user 0m25.553s
sys 0m3.172s

虽然总体时间大致相同,但系统时间(在内核中花费的时间)却是原来的 10 倍以上。

什么原因导致这种情况发生?我应该研究什么来解决这个问题?

内存相同,且 /tmp 没有满。

由于这些是 Core i7 2600,我想这可能与芯片组召回和驱动器性能较慢有关。或者它们的设置不同。

答案1

如果系统 2 的 RAM 相当紧张,这可以解释这一点:内核正在花时间交换其他应用程序。如果我的理论是正确的,结果应该不会非常可重复,因为系统 2 将释放足够的 RAM 进行第二次运行。

否则,eumino 关于 /tmp 差异的评论可能可以解释这一点(/tmp 几乎已满且碎片化?)但在我看来,这种情况不太可能发生。

相关内容