use psutil for CPU load (#199)

This commit is contained in:
Masoko
2025-03-23 18:30:02 +02:00
committed by GitHub
parent 3e46ef5d89
commit 850c57d872
2 changed files with 4 additions and 11 deletions

View File

@@ -1,2 +1,3 @@
paho-mqtt==1.6.1 paho-mqtt==1.6.1
requests requests
psutil

View File

@@ -21,6 +21,7 @@ import uuid
import glob import glob
import requests import requests
import configparser import configparser
import psutil
#import external sensor lib only if one uses external sensors #import external sensor lib only if one uses external sensors
if config.ext_sensors: if config.ext_sensors:
# append folder ext_sensor_lib # append folder ext_sensor_lib
@@ -66,16 +67,7 @@ def check_used_space(path):
def check_cpu_load(): def check_cpu_load():
p = subprocess.Popen("uptime", shell=True, stdout=subprocess.PIPE).communicate()[0] return psutil.cpu_percent(interval=1)
cores = subprocess.Popen("nproc", shell=True, stdout=subprocess.PIPE).communicate()[0]
try:
cpu_load = str(p).split("average:")[1].split(", ")[0].replace(' ', '').replace(',', '.')
cpu_load = float(cpu_load) / int(cores) * 100
cpu_load = round(float(cpu_load), 1)
except Exception:
cpu_load = None if config.use_availability else 0
return cpu_load
def check_voltage(): def check_voltage():