I have googled for code to get the CPU load on RPi3. I found this code:
import osdef getCPUuse():return str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip())
For me it only returns an empty string.
Where is the problem in this code?
EDIT:
I call it like this:
while True:time.sleep(0.2)use = getCPUuse()print(use)
Best Answer
Take off the strip()
and just do readline. That worked for me.
You can use the gpiozero
module - it comes pre-installed with Raspberry Pi OS.So you can use this code, it is a bit easier to read too (in my opinion):
from gpiozero import LoadAverageprint(str(int(LoadAverage(minutes=1).load_average*100))+"%")
EDIT:This link may help:https://gpiozero.readthedocs.io/en/stable/api_internal.html#loadaverage