程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python中psutil模塊的使用詳解(python3經典編程案例)

編輯:Python

一. psutil模塊的介紹

psutil(process and system utilities) 是一個跨平台的庫,用於在Python中檢索有關運行進程和系統利用率(CPU、內存、磁盤、網絡、傳感器)的信息。

它主要用於系統監控、分析和限制流程資源以及管理正在運行的流程。

它實現了經典UNIX命令行工具提供的許多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。

psutil模塊可以跨平台使用,支持Linux/UNIX/OSX/Windows等,它主要用來做系統監控,性能分析,進程管理等。

在python中,可以使用psutil這個第三方模塊去獲取信息的信息。

github地址:https://github.com/giampaolo/psutil

官方文檔:https://psutil.readthedocs.io/en/latest/

安裝:pip3 install psutil

二. psutil模塊的使用

2.1 獲取cpu信息

import psutil
# 1. 獲取CPU的完整信息
print(psutil.cpu_times())
# 2. 獲取CPU的邏輯個數
print(psutil.cpu_count())
# 3. 獲取CPU的物理個數
print(psutil.cpu_count(logical=False))
# 4. psutil獲取系統CPU使用率的方法是cpu_percent(),其有兩個參數,分別是interval和percpu
# interval指定的是計算cpu使用率的時間間隔,percpu則指定是選擇總的使用率還是每個cpu的使用率
for x in range(10):
print(psutil.cpu_percent(interval=1))
print(psutil.cpu_percent(interval=1,percpu=True))

2.2 獲取內存信息

import psutil
# 1. 獲取系統內存的使用情況
print(psutil.virtual_memory())
# 2. 獲取系統交換內存的統計信息
print(psutil.swap_memory())

2.3 獲取磁盤信息

# 1. 獲取磁盤分區的信息
print(psutil.disk_partitions())
# 2. 獲取磁盤的使用情況
print(psutil.disk_usage('/'))
# 3. 獲取磁盤的IO統計信息(讀寫速度等)
print(psutil.disk_io_counters())

2.4 獲取網絡信息

# 1. 獲取總的網絡IO信息
print(psutil.net_io_counters())
# 2. 獲取網卡的IO信息
print(psutil.net_io_counters(pernic=True))
# 3. 獲取網絡接口信息
print(psutil.net_if_addrs())
# 4. 獲取網絡接口狀態信息
print(psutil.net_if_stats())

2.5 獲取其他系統信息

# 獲取系統的開機時間,並轉化為自然的格式
print(psutil.boot_time())
# 獲取連接系統的用戶列表
print(psutil.users())
# 獲取系統全部的進程信息
print(psutil.pids())
# 獲取單個進程的信息, 獲取指定進程ID=780
print(psutil.Process(780))

2.6 模擬出ps命令的效果

print(psutil.test())

2.7 以json的形式返回進程的pid和名稱

for proc in psutil.process_iter(['pid', 'name']):
print(proc.info)
# 運行結果入下:
{
'pid': 35907, 'name': 'Google Chrome Helper (Renderer)'}
{
'pid': 36575, 'name': 'com.apple.Safari.SafeBrowsing.Service'}
{
'pid': 36729, 'name': 'com.apple.AppleU'}

️ 如果覺得有用,可以關注或者收藏一下哦 !!!️


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved