Currently i use psutil
for getting RAM percentage
print (' ')
print ('----------------------CPU Information summary----------------------')
print (' ')
# gives a single float value
vcc=psutil.cpu_count()
print ('Total number of CPUs :',vcc)
vcpu=psutil.cpu_percent()
print ('Total CPUs utilized percentage :',vcpu,'%')
But when I run the code i get this
----------------------CPU Information summary----------------------
Total number of CPUs : 8
Total CPUs utilized percentage : 0.0 %
But i want it print the CPU % in task manager
As stated in the documentation:
psutil.cpu_percent(interval=None, percpu=False)
Return a float representing the current system-wide CPU utilization as a percentage. When interval is > 0.0 compares system CPU times elapsed before and after the interval (blocking). When interval is 0.0 or None compares system CPU times elapsed since last call or module import, returning immediately. That means the first time this is called it will return a meaningless 0.0 value which you are supposed to ignore. In this case it is recommended for accuracy that this function be called with at least 0.1 seconds between calls. When percpu is True returns a list of floats representing the utilization as a percentage for each CPU. First element of the list refers to first CPU, second element to second CPU and so on. The order of the list is consistent across calls.
So it needs to be called with an interval between calls so it can give the right percentage.
Called it like this (or try to play around with the interval parameter):
psutil.cpu_percent(interval=2)