psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统
安装
pip install psutil或者使用源码安装
获取CPU信息
psutil.cpu_times() # 获取cpu的完整信息,需要显示所有逻辑cpu信息
psutil.cpu_times(percpu=True) # 获取每一个cpu的信息
psutil.cpu_count() # 获取CPU的逻辑个数 # 默认logical=True
psutil.cpu_count(logical=False) # 获取CPU的物理个数
获取内存信息
psutil.virtual_memory() # 获取完整的内存信息
psutil.virtual_memory().total # 获取内存总数
psutil.virtual_memory().free # 获取空闲内存数
psutil.swap_memory() # 获取SWAP分区信息
获取磁盘信息
psutil.disk_partitions() # 获取完整的磁盘信息
psutil.disk_usage() # 获取分区('path')的使用情况
psutil.disk_io_counters() # 获取硬盘总的IO个数
psutil.disk_io_counters(perdisk=True) # 获取单个分区IO个数
获取网络信息
psutil.net_connections() # 获取网络总的IO信息,默认是kind='inet'
+------------+----------------------------------------------------+
| Kind Value | Connections using |
+------------+----------------------------------------------------+
| inet | IPv4 and IPv6 |
| inet4 | IPv4 |
| inet6 | IPv6 |
| tcp | TCP |
| tcp4 | TCP over IPv4 |
| tcp6 | TCP over IPv6 |
| udp | UDP |
| udp4 | UDP over IPv4 |
| udp6 | UDP over IPv6 |
| unix | UNIX socket (both UDP and TCP protocols) |
| all | the sum of all the possible families and protocols |
+------------+----------------------------------------------------+
psutil还支持获取用户登录、开机时间等信息,可以https://pypi.org/project/psutil/查看
閱讀更多 我的名字o 的文章