我正在尝试使用Why does multiprocessing use only a single core after I import numpy?中建议的'os.sched_getaffinity'方法检查我的脚本使用的核心数。但是当我跑步时
import os
os.sched_getaffinity(0)
我得到了
AttributeError
Traceback (most recent call last) <ipython-input-1-895d9c252fd1> in <module>()
1 import os
----> 2 os.sched_getaffinity(0)
AttributeError: module 'os' has no attribute 'sched_getaffinity'
这里出了什么问题?来自'os'模块的其他标准方法似乎有效。我用Python 3.6.0运行Anaconda 4.3.0。我试过Mac和Linux。检查和更改任务关联的任何其他方法?
答案 0 :(得分:7)
文档说“它们只能在某些Unix平台上使用。”我想你的平台不是这些功能集支持的平台之一。您可以通过键入
来查看提供的内容>>> import os
>>> print(dir(os))
该功能确实存在于我的Debian Linux机器上,但它在Windows和OSX上也不存在。我不知道为什么你的Linux机器上没有它。也许你的Linux太老了?
另外一个简单的谷歌“python进程亲和力”提供了几种选择