天下无贼演员表,明日时代,豪门外遇总裁轻轻爱
根据这个问题和答案 - python multiprocessing.cpu_count()在4核nvidia jetson tk1上返回'1' - python multiprocessing.cpu_count()
在某些系统上的功能输出反映了主动使用的cpu数量,而不是cpu的数量实际上可以通过调用python程序使用。
一个常见的python习惯用法是使用return-value cpu_count()
来初始化a中的进程数pool
。但是,在使用这种“动态cpu激活”策略的系统上,该习惯用法相当严重(至少在相对静止的系统上)。
是否有一些直接(和可移植)方式来获取python 可用处理器的数量(与当前使用的数量相反)?
笔记:
这个问题是不被接受的答案来回答如何找出使用python cpu的数量,因为在上方挂了一个问题,说明这个问题,打印的内容/proc/self/status
显示所有4个内核为可用的程序。
在我看来,“可移植”排除了涉及解析内容的任何方法/proc/self/status
,其格式可能因linux的发行版本而异,并且在os x上甚至不存在。(对于任何其他伪文件也是如此,同样。)
我不认为你会得到任何真正便携的答案,所以我会给出一个正确的答案。
正确*为linux的回答是len(os.sched_getaffinity(pid))
,哪里pid
可能是0
当前进程。这个函数在python 3.3及更高版本中公开; 如果你以前需要它,你将不得不做一些奇特的cffi
编码。
编辑:您可能会尝试查看是否可以使用函数(int omp_get_num_procs();
如果存在),这是我在上找到的唯一有意义的答案,但我还没有从python中尝试过。
本文首发于,博客园同步跟新
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论