python系统监控_python psutil系统监控详解
一、psutil模塊:
1、psutil是一個跨平臺庫(http://pythonhosted.org/psutil/)能夠輕松實現獲取系統運行的進程和系統利用率(包括CPU、內存、磁盤、網絡等)信息。它主要用來做系統監控,性能分析,進程管理。它實現了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。
目前支持平臺:
· Linux
· Windows
· macOS
· FreeBSD, OpenBSD, NetBSD
· Sun Solaris
· AIX
二、psutil
pip install psutil
三、獲取系統資源信息
1、CPU信息
使用cpu_times方法獲取cpu的完整信息
執行:psutil.cpu_times()
結果返回:scputimes(user=24189.546875, system=22121.71875, idle=221210.375, interrupt=1254.921875, dpc=464.578125)
獲取用戶的cpu時間:
執行:psutil.cpu_times().user
結果返回:24336.171875
獲取cpu的使用率:
執行:psutil.cpu_percent()
結果返回:17.9
獲取cpu的狀態:
執行: psutil.cpu_stats()
結果返回:scpustats(ctx_switches=3370231678, interrupts=1881078634, soft_interrupts=0, syscalls=194645459)
2、內存信息
執行:mem = psutil.virtual_memory()
返回結果:mem
svmem(total=4018601984, available=1066205184, percent=73.5, used=3904004096, free=114597888, active=3302174720, inactive=426078208, buffers=156520448, cached=795086848)
執行查看總內存:mem.total
返回:8468144128
執行查看使用的內存:mem.used
返回:4497432576
執行查看使用的內存:mem.free
返回:3970711552
3、磁盤信息
磁盤信息主要有兩部分,磁盤的利用率和IO。
獲取分區信息,然后看下根分區的使用情況:
執行:psutil.disk_partitions()
結果返回:[sdiskpart(device='C:\\', mountpoint='C:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='D:\\', mountpoint='D:\\', fstype='NTFS', opts='rw,fixed'), sdiskpart(device='E:\\', mountpoint='E:\\', fstype='NTFS', opts='rw,fixed')]
默認disk_io_counters方法獲取的是硬盤總的io數和讀寫信息,如果需要獲取單個分區的io和讀寫信息加上"perdisk=True"參數。
執行:psutil.disk_io_counters()
結果返回:sdiskio(read_count=610499, write_count=759616, read_bytes=22331385344, write_bytes=14430732800, read_time=1399, write_time=1039)
執行:psutil.disk_io_counters(perdisk=True)
結果返回:{'PhysicalDrive0': sdiskio(read_count=610511, write_count=760008, read_bytes=22331651584, write_bytes=14434507264, read_time=1399, write_time=1039)}
4、網絡信息
獲取網絡總的io情況:
執行:psutil.net_io_counters()
返回結果:snetio(bytes_sent=3091153, bytes_recv=8176206, packets_sent=20850, packets_recv=25438, errin=0, errout=0, dropin=0, dropout=0)
獲取網卡的io情況:
執行:psutil.net_io_counters(pernic=True)
返回結果:{ '本地連接* 12': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'isatap.{0DAA4981-3958-4745-AD8D-CB1C21D4BB5D}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0), 'isatap.{CA7756A6-2AE1-4904-9D24-4857E854470C}': snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0)}
總結
以上是生活随笔為你收集整理的python系统监控_python psutil系统监控详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: xftp传输文件报错_Xshell+Xf
- 下一篇: 南京工业大学python考试期末题库_大