Python psutil庫是一個用于監控和管理系統的功能強大的工具
導入psutil庫: 在使用psutil之前,確保已經安裝了該庫。如果尚未安裝,可以使用以下命令進行安裝:
pip install psutil
然后在代碼中導入psutil庫:
import psutil
獲取系統信息: 使用psutil可以輕松獲取系統的CPU、內存、磁盤和網絡信息。例如:
# 獲取CPU信息
cpu_info = psutil.cpu_percent()
print(f"CPU Usage: {cpu_info}%")
# 獲取內存信息
memory_info = psutil.virtual_memory()
print(f"Total Memory: {memory_info.total / (1024 * 1024)} MB")
# 獲取磁盤信息
disk_info = psutil.disk_usage('/')
print(f"Total Disk Space: {disk_info.total / (1024 * 1024)} MB")
# 獲取網絡信息
net_info = psutil.net_io_counters()
print(f"Bytes Sent: {net_info.bytes_sent}")
print(f"Bytes Received: {net_info.bytes_recv}")
監控資源使用情況:
可以使用psutil定期檢查系統的資源使用情況,以便在性能問題發生時及時發現并采取措施。例如,可以使用time.sleep()
函數在循環中定期獲取CPU和內存使用情況:
import time
while True:
cpu_usage = psutil.cpu_percent()
memory_usage = psutil.virtual_memory().percent
print(f"CPU Usage: {cpu_usage}%")
print(f"Memory Usage: {memory_usage}%")
time.sleep(5) # 每5秒檢查一次
異常處理: 在使用psutil時,可能會遇到一些異常情況,例如訪問受限的資源。為了避免程序崩潰,應該使用try-except語句進行異常處理:
try:
process = psutil.Process(pid=1234)
cpu_times = process.cpu_times()
print(f"User Time: {cpu_times.user} seconds")
print(f"System Time: {cpu_times.system} seconds")
except psutil.NoSuchProcess:
print("Process not found")
except psutil.AccessDenied:
print("Permission denied")
使用其他模塊: psutil庫與其他模塊(如datetime)結合使用,可以更方便地處理和展示數據。例如,可以將收集到的系統信息寫入日志文件:
import datetime
with open("system_log.txt", "a") as log_file:
log_file.write(f"{datetime.datetime.now()} - CPU Usage: {cpu_info}%\n")
log_file.write(f"{datetime.datetime.now()} - Memory Usage: {memory_usage}%\n")
遵循這些最佳實踐,可以確保在使用Python psutil庫時編寫出高效、穩定且易于維護的代碼。