根据这个问题和答案 - 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 可用处理器的数量(与当前使用的数量相反)?

笔记:

  1. 这个问题是不被接受的答案来回答如何找出使用python CPU的数量,因为在上方挂了一个问题,说明这个问题,打印的内容/proc/self/status显示所有4个内核为可用的程序。

  2. 在我看来,“可移植”排除了涉及解析内容的任何方法/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黑洞网,博客园同步跟新

在Python中检测*可用* CPU数量的便携方式的更多相关文章

  1. Python中的单例模式的几种实现方式的优缺点及优化

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  2. Python中的单例模式的几种实现方式的及优化

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. ...

  3. Python中四种运行其他程序的方式

    原文地址:http://blog.csdn.net/jerry_1126/article/details/46584179 在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在 ...

  4. Python黑科技 | Python中四种运行其他程序的方式

    在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32proc ...

  5. python中检测mysql的主键唯一性异常

    有两种方法: 1.直接检测是什么异常(查mysql文档找出异常代码) import os import mysql_operate.mysql_connect as mysql import re d ...

  6. python中检测某个变量是否有定义

    目录 第一种方法使用内置函数locals() 第二种方法使用内置函数dir() 第三种方法使用内置函数vars() 第一种方法使用内置函数locals() 'testvar' in locals(). ...

  7. Python 中 open()文件操作的方式

    Python的open方法用来打开一个文件.第一个参数是文件的位置和文件名,第二个参数是读写模式: f=open('/1.txt','w') 读写模式的类型有: rU 或 Ua 以读方式打开, 同时提 ...

  8. Python中包(package)的调用方式

     一.什么是Python Package 如何区分你看到的目录是一个Python Package包呢?其实很简单,你只要看这个名录下是否有“__init__.py”这个文件就好了,如果有那么就是Pyt ...

  9. python中package机制的两种实现方式

    当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件. 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/loca ...

随机推荐

  1. Java GC算法

    转自:http://blog.csdn.net/heyutao007/article/details/38151581 1.JVM内存组成结构 JVM内存结构由堆.栈.本地方法栈.方法区等部分组成,结 ...

  2. XMLSpy 生成xml模板(转)

    公司中的生成ci需要和xsd中的sequence一致, 由于xsd的过于庞大,且有继承关系, 所以人工比较是不可能的. 现用xmlspy来生成. 1, 在xmlspy中打开xsd 2, 将choice ...

  3. 【记录】mysql中建表utf8和utf8mb4区别?timestamp和datetime区别?

    mysql中建表utf8和utf8mb4区别? 1:utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8字符,也就是 Unicode 中的基本多文本平面 2:要在 Mysql 中 ...

  4. 一、bootstrap-fontawesome-iconpicker组件

    一.bootstrap-fontawesome-iconpicker组件 <!DOCTYPE html> <html lang="en"> <head ...

  5. OAuth_2

    角色: OAuth2.0为用户和应用定义了如下角色: 资源拥有者.资源服务器.客户端应用.授权服务器 资源拥有者:拥有共享数据的人或应用,比如Facebook的用户就是 资源拥有者,但资源拥有者也可以 ...

  6. JVM内存模型及GC回收算法

    该篇博客主要对JVM内存模型以及GC回收算法以自己的理解和认识做以记录. 内存模型 GC垃圾回收 1.内存模型 从上图可以看出,JVM分为 方法区,虚拟机栈,本地方法栈,堆,计数器 5个区域.其中最为 ...

  7. Administrator 被禁用

    Administrator 被禁用 问题: 重装系统后出现输入用户名和密码的情况,原因是Administrator被禁用. 解决方法: 1.开机后shift+重启 –>选择疑难解答 --> ...

  8. 执行cython文件

    找到目录下的setup.py文件 cd到工程目录下: 执行 python3 setup.py build_ext --inplace

  9. 【leetcode】941. Valid Mountain Array

    题目如下: Given an array A of integers, return true if and only if it is a valid mountain array. Recall ...

  10. Edge Computer:Vision and Challenges

    Abstract 随着物联网(Internet of Things)的蓬勃发展和云服务(cloud services)的成功,出现一种新的计算模式:edge computer.用于边缘网络数据的处理, ...