一个Linux进程有多lessCPU可以使用的限制?

如果我在开箱即用的fedora机器上以root身份运行进程,是否有任何理由让进程无法使用〜80%的cpu?

为什么一个进程可能没有用完所有的CPU有几个原因。 一个进程可能会限制它使用的CPU数量,比如一个会偶尔睡一会儿的循环,以避免使用太多的CPU或电池。 或者一个进程可能是I / O绑定的; 也就是说,它需要频繁地执行I / O操作(磁盘I / O,networkingI / O或交换大量内存)。 当另一个进程需要时,一个进程也可能会nice ,优先级更低,占用CPU更less。

请参阅ulimit命令

任何进程都可以使用100%的CPU。 即使在多核机器上 – 它也可能产生在其他内核上运行的线程或subprocess。 一般来说,如果进程使用100%的CPU,这是因为它是CPU绑定,并且必须这样做才能完成其工作。 这没有什么错,除非应用程序写得效率低下。

如果你想让进程更好地与其他进程共享CPU,你可能需要看renice 。

(希望你的链接可以,mgb。)