Python - get process names,CPU,Mem Usage and Peak Mem Usage in windows
I like using wmic
on Windows. You can run it from the command-line, so you can run it from Python.
from subprocess import Popen,PIPE
proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE)
print str(proc.communicate())
With wmic
you can get processes, cpu, and memory info easily. Just use wmic cpu
, wmic process
, and wmic memphysical
. You can also filter out certain attributes by using wmic <alias> get <attribute>
. And you can get a list of all commands with wmic /?
. Hope that helps!
You can check out the official documentation for WMIC here: http://technet.microsoft.com/en-us/library/bb742610.aspx
You can use psutil
.
For example, to obtain the list of process names:
process_names = [proc.name() for proc in psutil.process_iter()]
For info about the CPU use psutil.cpu_percent
or psutil.cpu_times
.
For info about memory usage use psutil.virtual_memory
.
Note that psutil works with Linux, OS X, Windows, Solaris and FreeBSD and with python 2.4 through 3.3.