我觉得我的问题是相当基本的,但我找不到任何相关的SO问题。多CPU在Linux上的多任务
我需要运行一个程序几千次(每次输入不同),目前它是由shell脚本完成的。该机器运行Ubuntu并有8个CPU(由cat /proc/cpuinfo
显示)。使用top
我看到只有1个CPU被利用。为了加快速度,我想利用所有8个CPU。我知道我可以在后台启动程序,然后再次调用它(实际上top
表明在这种情况下使用了2个CPU),所以我可以更改我的shell脚本以8个组来调用程序。我的问题是,这是推荐的方式来利用所有的CPU,还是有另一种,有点'更清洁'的方式?
我有些困惑 - 不是一个OS概念的线程,即OS分布单个CPU的时间片吗?无论如何,我的程序是单线程的,我想在每一个时刻运行它的多个实例。 (感谢关于留下一个CPU免费提示) –
我更困惑。 “线索”在不同的情况下意味着很多不同的东西。在我的回答中,它大致相当于一个过程。 – symcbean