为什么运行多个相同的命令需要很长时间

时间:2015-11-25 10:40:14

标签: linux io runtime

这不是一个编程问题,而是我最近遇到的一个问题,我试图理解。

例如,在ls中运行linux命令可能需要..... 1秒。 但是当我同时产生几千个ls命令时,我注意到有些进程没有运行,有点需要很长时间才能运行。

为什么会这样?我们如何解决这个问题?

提前致谢。

更新

我做了ps,看到有几个ls命令处于D<状态。我检查了一下,并了解这是一个不间断的睡眠。那是什么?什么时候会发生?如何避免?

1 个答案:

答案 0 :(得分:0)

可以并发执行的进程或线程数受机器内核数量的限制。

如果同时产生数千个进程或线程,内核只能运行&#39; n&#39; (其中n等于可用内核的数量)同时,其中一些将不得不等待安排。

如果要真正同时运行更多进程或线程,则需要增加系统中可用内核的数量(即通过添加CPU,启用超线程(如果可用))。