美文网首页
Python:psutil模块使用

Python:psutil模块使用

作者: 玩转测试开发 | 来源:发表于2021-11-30 00:01 被阅读0次

简介:psutil(进程和系统实用程序)是一个跨平台库,用于检索Python中运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监视、分析和限制进程资源以及管理正在运行的进程。它实现了经典UNIX命令行工具提供的许多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。

支持的平台:Linux、Windows、macOS、FreeBSD, OpenBSD, NetBSD、Sun Solaris、AIX等平台。

安装:

pip install psutil

用户系统信息:

import psutil
import datetime

print("当前用户:", psutil.users())
print("当前系统时间:", psutil.boot_time())  # 以时间戳格式返回)
print(datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S"))  # 转换成自然时间格式

内存信息:

mem = psutil.virtual_memory()
print("系统内存全部信息:", mem)
mem_total = float(mem.total)
mem_used = float(mem.used)
mem_free = float(mem.free)
mem_percent = float(mem.percent)

print(f"系统总计内存:{mem_total}")
print(f"系统已经使用内存:{mem_used}")
print(f"系统空闲内存:{mem_free}")
print(f"系统内存使用率:{mem_percent}")

CPU信息:

print("CPU汇总信息:", psutil.cpu_times())
print("cpu逻辑个数:", psutil.cpu_count())
print("swap内存信息:", psutil.swap_memory())

磁盘信息:

print("获取磁盘的完整信息:", psutil.disk_partitions())
print("获取分区表的参数:", psutil.disk_usage('/'))  # 获取/分区的状态
print("获取硬盘IO总个数:", psutil.disk_io_counters())
print("获取单个分区IO个数:", psutil.disk_io_counters(perdisk=True))  # perdisk=True参数获取单个分区IO个数

网络信息:

print("获取网络总IO信息:", psutil.net_io_counters())

系统进程管理信息:

print("查看系统全部进程:", psutil.pids())

单个进程的详细信息:

pid_info = psutil.Process(1200)
print(pid_info.name())  # 进程名
print(pid_info.exe())  # 进程的bin路径
print(pid_info.status())  # 进程状态
print(pid_info.create_time())  # 进程创建时间
print(pid_info.cpu_times())  # 进程的cpu时间信息,包括user,system两个cpu信息
print(pid_info.memory_percent())  # 进程内存利用率
print(pid_info.memory_info())  # 进程内存rss,vms信息
print(pid_info.io_counters())  # 进程的IO信息,包括读写IO数字及参数
print(pid_info.num_threads())  # 进程开启的线程数

源码:

import psutil
import datetime

# 用户,系统相关:
print("当前用户:", psutil.users())
print("当前系统时间:", psutil.boot_time())  # 以linux时间格式返回)
print(datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S"))  # 转换成自然时间格式

# 内存相关:
mem = psutil.virtual_memory()
print("系统内存全部信息:", mem)
mem_total = float(mem.total)
mem_used = float(mem.used)
mem_free = float(mem.free)
mem_percent = float(mem.percent)

print(f"系统总计内存:{mem_total}")
print(f"系统已经使用内存:{mem_used}")
print(f"系统空闲内存:{mem_free}")
print(f"系统内存使用率:{mem_percent}")

# CPU相关:
print("CPU汇总信息:", psutil.cpu_times())
print("cpu逻辑个数:", psutil.cpu_count())
print("swap内存信息:", psutil.swap_memory())

# 磁盘相关:
print("获取磁盘的完整信息:", psutil.disk_partitions())
print("获取分区表的参数:", psutil.disk_usage('/'))  # 获取/分区的状态
print("获取硬盘IO总个数:", psutil.disk_io_counters())
print("获取单个分区IO个数:", psutil.disk_io_counters(perdisk=True))  # perdisk=True参数获取单个分区IO个数

# 网络相关:
print("获取网络总IO信息:", psutil.net_io_counters())

# 系统进程管理:
print("查看系统全部进程:", psutil.pids())

# 单个进程的详细信息:
pid_info = psutil.Process(1200)
print(pid_info.name())  # 进程名
print(pid_info.exe())  # 进程的bin路径
print(pid_info.status())  # 进程状态
print(pid_info.create_time())  # 进程创建时间
print(pid_info.cpu_times())  # 进程的cpu时间信息,包括user,system两个cpu信息
print(pid_info.memory_percent())  # 进程内存利用率
print(pid_info.memory_info())  # 进程内存rss,vms信息
print(pid_info.io_counters())  # 进程的IO信息,包括读写IO数字及参数
print(pid_info.num_threads())  # 进程开启的线程数

运行结果:

图片

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

相关文章

  • python-psutil 安装问题记录

    psutil是什么 psutil是个Python模块。【yasi】文档看这里:https://pypi.pytho...

  • 使用psutil获取系统信息

    在Python中,我们可以使用psutil这个第三方模块方便的获取到系统信息。顾名思义,psutil = proc...

  • python 模块psutil获取进程信息

    获取进程信息 接续上篇《python 常用内建模块之psutil》安装psutil,并且获取一些基本信息,本篇介绍...

  • python psutil模块

    安装 下载 安装 功能 psutil 是一个跨平台库,能够轻松的实现获取系统运行的进程和系统利用率(包括cpu、内...

  • linux自动化运维之psutil模块讲解(2)

    上一期我们讲解了如何使用psutil模块获取系统信息,今天我们来看一下psutil模块还能做一些什么。下面开始进入...

  • Python Tkinter与psutil完成网络速度监视

    psutil可以完成服务器状态监视,详情参考笔者以前的文章-Python使用psutil库监控服务器[https...

  • 20170831

    看python自动化运维里有个psutil,加上最近又在做主机进程监控,在想使用psutil还是ps aux……感...

  • psutil模块

    首先需要先导入psutil模块pip install psutil''' * coding=utf8 * impo...

  • psutil模块

    一、psutil模块获取主机信息 官方文档:http://psutil.readthedocs.io/en/lat...

  • Linux_140_glances简介

    glances工具是由python语言编写,是由psutil模块来采集系统的硬件资源等glances可以为unix...

网友评论

      本文标题:Python:psutil模块使用

      本文链接:https://www.haomeiwen.com/subject/yffjxrtx.html