濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > python psutil庫(kù)的使用示例

python psutil庫(kù)的使用示例

熱門標(biāo)簽:女王谷地圖標(biāo)注 地圖標(biāo)注推廣單頁(yè) 廈門crm外呼系統(tǒng)如何 百應(yīng)ai電銷機(jī)器人鄭州 ai地圖標(biāo)注 西藏快速地圖標(biāo)注地點(diǎn) 如何在地圖標(biāo)注文字 長(zhǎng)春人工智能電銷機(jī)器人官網(wǎng) n400電話申請(qǐng)多少錢

由于Bash實(shí)在太惡心,很多運(yùn)維工程師開(kāi)始使用Python代替Bash寫(xiě)各種腳本。

雖然理論上可以用Python調(diào)用Bash指令實(shí)現(xiàn)各種功能,但是給各種命令寫(xiě)B(tài)ash wrapper還要解析輸出實(shí)在太麻煩。所以我們還是希望用原生Python庫(kù)來(lái)實(shí)現(xiàn)各種功能。

今天我推薦一個(gè)好用的Python庫(kù)psutil。

psutil一個(gè)能夠跨平臺(tái)使用的庫(kù)??梢杂脕?lái)獲取系統(tǒng)信息(CPU、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò))和進(jìn)程信息。

它可以被用來(lái)替代這些UNIX的系統(tǒng)命令:ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap

下面是一些具體例子:

>>> import psutil # 加載庫(kù)

CPU信息

CPU占用率

>>> psutil.cpu_percent(interval=5)
12.9

CPU頻率

>>> psutil.cpu_freq()
scpufreq(current=2300, min=2300, max=2300)

CPU load

>>> psutil.getloadavg()
(2.21044921875, 2.4814453125, 2.74609375)

內(nèi)存信息

內(nèi)存使用狀況

>>> psutil.virtual_memory()
svmem(total=8589934592, available=1664913408, percent=80.6, used=5807058944, free=15069184, active=1651421184, inactive=1649065984, wired=4155637760)

磁盤(pán)

磁盤(pán)分區(qū)信息

>>> psutil.disk_partitions()
[sdiskpart(device='/dev/disk1s5', mountpoint='/', fstype='apfs', opts='ro,local,rootfs,dovolfs,journaled,multilabel', maxfile=255, maxpath=1024), ...]

磁盤(pán)占用率

>>> psutil.disk_usage('/')
sdiskusage(total=250685575168, used=11233398784, free=14531440640, percent=43.6)

磁盤(pán)IO

>>> psutil.disk_io_counters()
sdiskio(read_count=190236826, write_count=110716593, read_bytes=11349786423296, write_bytes=9505852936192, read_time=165443373, write_time=100234117)

網(wǎng)絡(luò)

網(wǎng)絡(luò)連接 (netstat)

>>> import psutil
>>> psutil.net_connections()
[pconn(fd=115, family=AddressFamily.AF_INET: 2>, type=SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=48776), raddr=addr(ip='93.186.135.91', port=80), status='ESTABLISHED', pid=1254),
 pconn(fd=117, family=AddressFamily.AF_INET: 2>, type=SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=43761), raddr=addr(ip='72.14.234.100', port=80), status='CLOSING', pid=2987),
 pconn(fd=-1, family=AddressFamily.AF_INET: 2>, type=SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=60759), raddr=addr(ip='72.14.234.104', port=80), status='ESTABLISHED', pid=None),
 pconn(fd=-1, family=AddressFamily.AF_INET: 2>, type=SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=51314), raddr=addr(ip='72.14.234.83', port=443), status='SYN_SENT', pid=None)
 ...]

網(wǎng)絡(luò)接口(ifconfig)

>>> psutil.net_if_addrs()
{'lo': [snicaddr(family=AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0', broadcast='127.0.0.1', ptp=None),
  snicaddr(family=AddressFamily.AF_INET6: 10>, address='::1', netmask='ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', broadcast=None, ptp=None),
  snicaddr(family=AddressFamily.AF_LINK: 17>, address='00:00:00:00:00:00', netmask=None, broadcast='00:00:00:00:00:00', ptp=None)],
 'wlan0': [snicaddr(family=AddressFamily.AF_INET: 2>, address='192.168.1.3', netmask='255.255.255.0', broadcast='192.168.1.255', ptp=None),
   snicaddr(family=AddressFamily.AF_INET6: 10>, address='fe80::c685:8ff:fe45:641%wlan0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None),
   snicaddr(family=AddressFamily.AF_LINK: 17>, address='c4:85:08:45:06:41', netmask=None, broadcast='ff:ff:ff:ff:ff:ff', ptp=None)]}

其它系統(tǒng)信息

電池

>>> psutil.sensors_battery()
sbattery(percent=93, secsleft=15420, power_plugged=False)

當(dāng)前用戶

>>> psutil.users()
[suser(name='myname', terminal='console', host=None, started=1604809088.0, pid=180), suser(name='yuliji', terminal='ttys012', host=None, started=1615375616.0, pid=13894)]

進(jìn)程信息

PID

>>> psutil.pids()
[1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, ..., 32498]

所有進(jìn)程

>>> for proc in psutil.process_iter(['pid', 'name', 'username']):
...  print(proc.info)
...
{'name': 'systemd', 'pid': 1, 'username': 'root'}
{'name': 'kthreadd', 'pid': 2, 'username': 'root'}
{'name': 'ksoftirqd/0', 'pid': 3, 'username': 'root'}

詳細(xì)文檔,請(qǐng)參考: psutil.readthedocs.io/en/latest/

以上就是python psutil庫(kù)的使用示例的詳細(xì)內(nèi)容,更多關(guān)于python psutil庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 基于python調(diào)用psutil模塊過(guò)程解析
  • Python監(jiān)控服務(wù)器實(shí)用工具psutil使用解析
  • Python使用psutil獲取進(jìn)程信息的例子
  • python psutil監(jiān)控進(jìn)程實(shí)例
  • Python中psutil的介紹與用法
  • Python運(yùn)維開(kāi)發(fā)之psutil庫(kù)的使用詳解
  • Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控

標(biāo)簽:內(nèi)江 渭南 廊坊 亳州 拉薩 黔東 興安盟 綿陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python psutil庫(kù)的使用示例》,本文關(guān)鍵詞  python,psutil,庫(kù),的,使用,示例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python psutil庫(kù)的使用示例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python psutil庫(kù)的使用示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    静安区| 安塞县| 西藏| 沾益县| 鸡泽县| 鞍山市| 乌鲁木齐市| 永州市| 本溪市| 三穗县| 崇明县| 大化| 图片| 南康市| 黔东| 洪泽县| 岳西县| 石泉县| 连南| 玉门市| 姚安县| 临夏市| 岳普湖县| 唐河县| 绍兴市| 驻马店市| 芜湖县| 龙泉市| 武乡县| 涞源县| 海口市| 巴彦淖尔市| 正镶白旗| 肥乡县| 海原县| 揭西县| 静海县| 安吉县| 东阳市| 齐齐哈尔市| 错那县|