自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

告別繁瑣,用 psutil 簡(jiǎn)化你的 Python 系統(tǒng)監(jiān)控任務(wù)

開發(fā)
傳統(tǒng)的監(jiān)控方式往往涉及復(fù)雜的工具和冗長(zhǎng)的配置,耗時(shí)且容易出錯(cuò)。那么,如何在Python中簡(jiǎn)化這一過程呢?答案就是——psutil。

在日常的開發(fā)工作中,系統(tǒng)監(jiān)控是不可或缺的一部分。無論你是需要監(jiān)控服務(wù)器的CPU使用率、內(nèi)存占用情況,還是跟蹤網(wǎng)絡(luò)連接,及時(shí)掌握系統(tǒng)的狀態(tài)都是至關(guān)重要的。然而,傳統(tǒng)的監(jiān)控方式往往涉及復(fù)雜的工具和冗長(zhǎng)的配置,耗時(shí)且容易出錯(cuò)。那么,如何在Python中簡(jiǎn)化這一過程呢?答案就是——psutil。

什么是psutil?

psutil,全名為Process and System Utilities,是一個(gè)跨平臺(tái)的Python庫(kù),用于方便地獲取系統(tǒng)運(yùn)行時(shí)的信息。無論是CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)、還是系統(tǒng)進(jìn)程狀態(tài),psutil都能通過簡(jiǎn)潔的API一手掌握。

為什么選擇psutil?

  • 輕量且功能強(qiáng)大:psutil庫(kù)非常輕量,不會(huì)給你的系統(tǒng)帶來額外的負(fù)擔(dān),同時(shí)它提供了豐富的功能,幾乎涵蓋了所有你能想到的系統(tǒng)監(jiān)控需求。
  • 跨平臺(tái)支持:無論你是在Windows、Linux還是macOS上開發(fā),psutil都能無縫運(yùn)行。
  • 簡(jiǎn)單易用的API:相比于其他工具,psutil的API設(shè)計(jì)得非常直觀、易用。只需幾行代碼,就可以完成復(fù)雜的系統(tǒng)監(jiān)控任務(wù)。

安裝psutil

安裝psutil非常簡(jiǎn)單,你可以使用Python的包管理工具pip來快速安裝。在命令行中執(zhí)行以下命令即可:

pip install psutil

該命令會(huì)自動(dòng)下載并安裝psutil及其所有依賴庫(kù)。一旦安裝完成,你就可以在Python腳本中導(dǎo)入psutil庫(kù)并開始使用它來獲取各種系統(tǒng)信息了。

安裝成功返回信息

基礎(chǔ)功能一覽

讓我們通過一些簡(jiǎn)單的例子,看看psutil如何簡(jiǎn)化系統(tǒng)監(jiān)控任務(wù)。

(1) 獲取CPU信息

import psutil

# 獲取CPU的使用率
cpu_usage = psutil.cpu_percent(interval=1)
print(f"當(dāng)前CPU使用率: {cpu_usage}%")

# 獲取每個(gè)CPU的使用率
cpu_usage_per_cpu = psutil.cpu_percent(interval=1, percpu=True)
print(f"每個(gè)CPU的使用率: {cpu_usage_per_cpu}")

上述代碼執(zhí)行成功后,如下圖所示:

獲取CPU信息

(2) 內(nèi)存監(jiān)控

# 獲取虛擬內(nèi)存信息
virtual_memory = psutil.virtual_memory()
print(f"總內(nèi)存: {virtual_memory.total / (1024**3):.2f} GB")
print(f"已使用內(nèi)存: {virtual_memory.used / (1024**3):.2f} GB")
print(f"剩余內(nèi)存: {virtual_memory.available / (1024**3):.2f} GB")

上述代碼執(zhí)行成功后,如下圖所示:

內(nèi)存監(jiān)控

(3) 磁盤使用情況

# 獲取磁盤分區(qū)信息
disk_usage = psutil.disk_usage('/')
print(f"磁盤總?cè)萘? {disk_usage.total / (1024**3):.2f} GB")
print(f"已使用: {disk_usage.used / (1024**3):.2f} GB")
print(f"剩余空間: {disk_usage.free / (1024**3):.2f} GB")

上述代碼執(zhí)行成功后,如下圖所示:

磁盤使用情況

(4) 網(wǎng)絡(luò)監(jiān)控

# 獲取網(wǎng)絡(luò)IO信息
net_io = psutil.net_io_counters()
print(f"發(fā)送字節(jié)數(shù): {net_io.bytes_sent / (1024**2):.2f} MB")
print(f"接收字節(jié)數(shù): {net_io.bytes_recv / (1024**2):.2f} MB")

上述代碼執(zhí)行成功后,如下圖所示:

網(wǎng)絡(luò)監(jiān)控

(5) 進(jìn)程管理

除了基礎(chǔ)的系統(tǒng)資源監(jiān)控,psutil還提供了強(qiáng)大的進(jìn)程管理功能,你可以輕松獲取、操作系統(tǒng)進(jìn)程。

# 獲取當(dāng)前運(yùn)行的進(jìn)程列表
processes = psutil.pids()
for pid in processes:
    p = psutil.Process(pid)
    print(f"PID: {pid}, 名稱: {p.name()}, 狀態(tài): {p.status()}")

你還可以通過psutil終止進(jìn)程、查看進(jìn)程的資源占用情況等等。與手動(dòng)編寫復(fù)雜的系統(tǒng)監(jiān)控腳本相比,psutil讓這一切變得更加簡(jiǎn)單直觀。如下圖所示:

進(jìn)程管理

系統(tǒng)巡檢

通過利用Python的psutil庫(kù),我們能夠?qū)崟r(shí)監(jiān)測(cè)主機(jī),精確獲取系統(tǒng)的CPU負(fù)載、內(nèi)存占用、磁盤I/O、網(wǎng)絡(luò)流量等關(guān)鍵健康指標(biāo)。結(jié)合自動(dòng)化工具,還可以對(duì)業(yè)務(wù)系統(tǒng)的主機(jī)資源利用率進(jìn)行批量巡檢,實(shí)現(xiàn)高效的系統(tǒng)管理和維護(hù)。巡檢結(jié)果如下圖:

巡檢結(jié)果

總結(jié)

對(duì)于開發(fā)者來說,簡(jiǎn)化系統(tǒng)監(jiān)控任務(wù)意味著節(jié)省時(shí)間、降低錯(cuò)誤率,并提高工作效率。psutil作為一款輕量級(jí)且功能強(qiáng)大的工具,不僅讓Python開發(fā)者能夠更方便地實(shí)現(xiàn)系統(tǒng)監(jiān)控,還能通過其豐富的API滿足各種復(fù)雜的監(jiān)控需求。如果你還在為繁瑣的系統(tǒng)監(jiān)控任務(wù)而煩惱,不妨試試psutil,它一定會(huì)成為你得力的助手。!

腳本獲取方式

上述腳本已經(jīng)上傳上傳到gitee,有需要的小伙伴可以自行獲取。gitee上的倉(cāng)庫(kù)主要是分享一些工作中常用的腳本。小伙伴可以frok或者watch倉(cāng)庫(kù),這樣有更新可以及時(shí)關(guān)注到。

倉(cāng)庫(kù)地址:https://gitee.com/didiplus/script

責(zé)任編輯:趙寧寧 來源: 攻城獅成長(zhǎng)日記
相關(guān)推薦

2023-09-13 15:09:35

軟件開發(fā)數(shù)字化進(jìn)程

2024-09-05 09:46:37

操作體系密碼

2025-01-24 07:44:31

LinuxsystemdAnsible

2024-03-11 06:00:00

OptunaPython超參數(shù)優(yōu)化

2024-10-16 16:30:14

ShellShell腳本

2018-03-22 11:00:45

PythonRSS

2011-04-28 16:20:18

全能一體機(jī)使用心得

2018-12-28 09:24:50

華為

2021-08-24 16:20:38

Linux終端

2009-07-15 09:06:07

BeanTableMoSwing

2024-12-16 13:00:00

JavaELK開發(fā)

2021-10-08 14:14:03

jconsoleJavaLinux

2022-07-24 14:49:17

NetfilterLinux防火墻

2017-12-19 11:00:54

Linux系統(tǒng)日志

2015-01-27 15:30:10

反監(jiān)控監(jiān)控探測(cè)SnoopSnitch

2025-02-03 23:35:56

API技術(shù).NET

2024-12-27 12:00:00

C++17枚舉

2025-04-27 03:00:00

Spring集成測(cè)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)