提起された質問:
システムの状態が不安定で原因を調査する必要があるため、すべてのプロセスのリソースとそのプロセスがどのプログラムであるかを監視する必要があります(一部のプロセス名が同じで書かれており、どの実行ファイルに基づいているかを確認する必要があります) PID 上)
方法:
1. サブプロセス関数を使用して、「ATOP」などのシステム コマンドを呼び出します。
ドキュメントを参照してください。
python--subprocess.Popen() multi-process_Nangyingxue のブログ - CSDN ブログ
2. ATOP の値を継続的に読み取り、文字列と構造化データを解析します。
import subprocess# as sp
import time
OUTTIME=1
def GetOneFrameInfo():
t_beginning=time.time()
proc = subprocess.Popen(["atop"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
while proc.poll() is None:
seconds_passed = time.time() - t_beginning
if seconds_passed>OUTTIME:
proc.terminate()
str_data=proc.stdout
return str_data
3. 構造化データを JSON 文字列としてファイルに書き込み、10 秒以内に JSON ファイルを保存し、固定フォルダーに保存します。
4. 表示するときは、ソフトウェアを使用して json を読み取り、すべての履歴データをインポートし、システム占有率を分析します。