Preguntas planteadas:
El estado del sistema es inestable y es necesario investigar la causa, por lo que es necesario monitorear los recursos de todos los procesos y en qué programa se encuentra el proceso (algunos nombres de procesos están escritos de la misma manera y debe verificar en qué archivo ejecutable se basa en el PID)
método:
1. Utilice la función de subproceso para llamar a comandos del sistema, como "ATOP"
Consulte la documentación:
python--subprocess.Popen() blog multiproceso_Nangyingxue-blog CSDN
2. Lea continuamente el valor de ATOP y analice cadenas y datos estructurados.
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. Escriba los datos estructurados en un archivo como una cadena JSON, guarde un archivo JSON en 10 segundos y guárdelo en una carpeta fija.
4. Al visualizar, utilice el software para leer json, importar todos los datos históricos y analizar la ocupación del sistema.