* *使用可能なCPUは、Pythonでの携帯方法の数を検出します

-この質問と回答によれば、Pythonのmultiprocessing.cpu_count()JETSON TK1 4コアのNvidia「1」を返す -パイソンをmultiprocessing.cpu_count()いくつかのシステム上の機能を出力するためのイニシアチブ反映使用する CPUの数を実際にかなりCPUの数以上で、でき渡しPythonプログラムを呼び出します。

一般的なPythonの使用は、戻り値であるcpu_count()プロセスの数を初期化しますPoolしかし、この「動的CPUアクティブ」ポリシーを使用するシステムで、イディオムは、(少なくとも比較的静的なシステムで)非常に深刻です。

取得するためのいくつかの直接的な(ポータブル)方法があるPythonの利用可能なプロセッサの数(および現在使用されて反対の数は)?

注意:

  1. 問題は、質問への答え受け入れられていないのpythonのCPU使用の番号を見つけるためにどのように問題の上にぶら下がって、説明しているため、内容の印刷、問題のプログラムで使用可能なすべての4つのコアの表示を。/proc/self/status

  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のブラックホールネット、新しい公園とブログの同期

 

おすすめ

転載: www.cnblogs.com/pythonzhichan/p/11444502.html