psutil是個跨平臺庫,能夠輕松實現獲取系統運行的進程和系統利用率,包括CPU、內存、磁盤、網絡等信息。
它主要應用于信息監控,分析和限制系統資源及進程的管理。它實現了同等命令命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的linux、windows、OS X、FreeBSD和Sun Solaris等操作系統。
(1)源碼安裝psutil
git clone https://github.com/giampaolo/psutil.gitcd psutilpython3 setup.py install
(2)pip安裝
pip3 install psutil
(3)windows上安裝
C:/python35/python.exe -m pip install psutil或者源碼編譯安裝:make.bat buildmake.bat install
In [10]: psutil.cpu_times(percpu=False) #查看CPU所有信息Out[10]: scputimes(user=306.98, nice=2.01, system=337.34, idle=410414.39, iowait=78.37, irq=0.0, softirq=17.42, steal=0.0, guest=0.0, guest_nice=0.0)#user:用戶進程花費的時間#nice:用戶模式執行Niced優先級進程花費的時間#system:內核模式進程花費的時間#idle:閑置時間#iowait:等待I/O完成的時間#irq:處理硬件中斷的時間#softirq:處理軟件中斷的時間#steal:虛擬化環境中運行的其他操作系統花費的時間#guest:在linux內核的控制下為客戶端操作系統運行虛擬CPU所花費的時間#guest_nice:虛擬機運行niced所花費的時間
#顯示CPU所有邏輯信息
In [7]: psutil.cpu_times(percpu=True) #顯示所有CPU邏輯信息Out[7]: [scputimes(user=45.48, nice=0.31, system=69.41, idle=101285.67, iowait=19.67, irq=0.0, softirq=3.06, steal=0.0, guest=0.0, guest_nice=0.0), scputimes(user=110.04, nice=0.46, system=70.63, idle=101210.2, iowait=22.99, irq=0.0, softirq=5.0, steal=0.0, guest=0.0, guest_nice=0.0), scputimes(user=58.5, nice=0.5, system=126.64, idle=100934.59, iowait=14.47, irq=0.0, softirq=4.36, steal=0.0, guest=0.0, guest_nice=0.0), scputimes(user=92.1, nice=0.72, system=68.3, idle=101146.96, iowait=21.12, irq=0.0, softirq=4.79, steal=0.0, guest=0.0, guest_nice=0.0)]
#顯示用戶占CPU的時間比
In [11]: psutil.cpu_times().user #顯示用戶占CPU的時間比Out[11]: 307.11
#顯示CPU邏輯個數和物理個數
In [8]: psutil.cpu_count(logical=True) #顯示CPU邏輯個數Out[8]: 4In [9]: psutil.cpu_count(logical=False) #顯示CPU物理個數Out[9]: 4
#將各種CPU統計信息作為命名元組返回
In [15]: psutil.cpu_stats() #CPU統計信息Out[15]: scpustats(ctx_switches=9838934, interrupts=10572621, soft_interrupts=5582125, syscalls=0)#ctx_switches:啟動后的上下問切換次數#interrupts:自啟動以來的中斷次數#soft_interrupts:啟動后的軟件中斷數量#syscalls:啟動以來的系統調用次數,在linux上始終為0
新聞熱點
疑難解答