私のアプリケーションでは、多くのスレッドが作成されていますスレッドモジュールを使用して、できるだけ多くの情報を取得する必要があります。何の問題もなく、私は実行時間についての情報を取ることができます。しかし、どのようにスレッドやCPUの使用量のメモリ使用量などの情報を取得する(と最高のCPU時間)です。
私はyappiモジュールを見つけましたが、それは私に合っていません。
回答:
回答№1は2あなたはどのOSを使用しているのか分かりませんが、この問題を解決するためにあなたのOSが提供するツールやAPIを探してみることをお勧めします。
例えば、すべてのプロセスのLinuxでは、ディレクトリ /proc/[pid]/
、[pid]プロセスIDで起動します。 このディレクトリには、プロセスのほぼすべての側面に関する情報を保持するさまざまな疑似ファイルがあります。これらをpythonで他のファイルと同様に開くことができますので、この情報を取得するのは非常に簡単です。あなたの質問に最も重要なファイルの1つは、 /proc/[pid]/stat
.
また、追加のディレクトリ /proc/[pid]/task/[tid]
、スレッドidをbeeing、[tid]。これらはスレッドごとに情報を保持します。
Linuxでは、単純なファイル操作で情報を得ることができます open()
そして .read()
。私は、ほとんどの他のオペレーティングシステムもこの情報を一方的に、または他の方法でも提供すると考えています。
詳細については /proc
つかいます 男proc.