答案1
Linux 确实在所有 CPU 之间平衡了工作负载。但是,为了做到这一点,工作负载必须是多线程的。不可能将单线程工作负载分布在多个 CPU 上,事实上,将单线程任务放在单个 CPU 上是最有效的。
这里的问题是,所讨论的 R 脚本不是为多线程编写的。
答案2
如果您的进程屈服于 mapReduce,您可以将脚本分成几部分,并在不同的 CPU 上运行每个部分。
答案3
不是kernel
谁决定如何使用CPU
。如果您的脚本设计为多线程,那么只有它将使用其他线程。
Linux 确实在所有 CPU 之间平衡了工作负载。但是,为了做到这一点,工作负载必须是多线程的。不可能将单线程工作负载分布在多个 CPU 上,事实上,将单线程任务放在单个 CPU 上是最有效的。
这里的问题是,所讨论的 R 脚本不是为多线程编写的。
如果您的进程屈服于 mapReduce,您可以将脚本分成几部分,并在不同的 CPU 上运行每个部分。
不是kernel
谁决定如何使用CPU
。如果您的脚本设计为多线程,那么只有它将使用其他线程。