psutil

在Linux下,有许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等。要获取这些系统信息,Python可以通过subprocess模块调用并获取结果。但这样做显得很麻烦,尤其是要写很多解析代码。
在Python中获取系统信息的另一个好办法是使用psutil这个第三方模块。顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用,支持Linux/UNIX/OSX/Windows等,是系统管理员和运维小伙伴不可或缺的必备模块。

安装psutil

pip install psutil

获取CPU信息

我们先来获取CPU的信息:

psutil.cpu_count()               # CPU逻辑数量为
psutil.cpu_count(logical=False)  # CPU物理核心为

psutil_第1张图片
统计CPU的用户/系统/空闲时间:
这里写图片描述
获取内存信息

使用psutil获取物理内存和交换内存信息,分别使用:

In [3]: psutil.virtual_memory()
Out[3]: svmem(total=4148170752, available=1042911232, percent=74.9, used=3105259520, free=1042911232)
In [4]: psutil.swap_memory()
Out[4]: sswap(total=8294436864, used=3519397888, free=4775038976, percent=42.4, sin=0, sout=0)

获取磁盘信息

可以通过psutil获取磁盘分区、磁盘使用率和磁盘IO信息:

In [5]: psutil.disk_partitions()
Out[5]: 
[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'),
 sdiskpart(device='F:\\', mountpoint='F:\\', fstype='', opts='cdrom')]

获取网络信息

psutil可以获取网络接口和网络连接信息:

In [6]:  psutil.net_io_counters()   # 获取网络读写字节/包的个数

In [7]:  psutil.net_if_addrs() # 获取网络接口信息

In [8]: psutil.net_if_stats() # 获取网络接口状态

要获取当前网络连接信息


psutil.net_connections()

获取进程信息
psutil.pids()

psutil还提供了一个test()函数,可以模拟出ps命令的效果:
psutil_第2张图片

你可能感兴趣的:(psutil)