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