我试图在使用Ubuntu 14.04 LTS的工作站上运行一些python代码。该工作站配备英特尔®至强(R)CPU E5-2630 v3 @ 2.40GHz×16处理器,所有线程都在激活和工作。问题是我在Windows(同一台机器)中运行此代码并且花了3分钟在Spyder中运行,在Spyder上运行的Ubuntu上已经超过一个小时,并且代码还没有运行完毕。 Spyder仅占我总CPU功耗的8%!当我检查系统监视器时,只有一个线程正在使用100%而其余的线程正在使用0或1. **%其中*是0-9之间的任何整数。
似乎Ubuntu或Spyder没有充分发挥CPU的潜力,我也不知道为什么。激活超线程,ubuntu正在使用所有核心。
编辑:Ubuntu正在使用所有线程,但python不是。实际上,Python只使用了1个CPU。我搜索了论坛,找到了一个有16个线程同样问题的人的线程,只有1个被使用。他们通过在你的代码之前运行这个“os.system(”taskset -p 0xffffffff%d“%os.getpid())”来修复它。这不适合我。这让我感到疯狂,我真的需要使用所有核心,或者这个工作站的功能不如200美元的笔记本电脑。