Python中psutil模块使用汇总
作者:三爷带你飞 发布时间:2022-07-30 10:26:45
标签:Python,psutil,模块
简介: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()) # 进程开启的线程数
运行结果:
来源:https://blog.csdn.net/hzblucky1314/article/details/121645575
0
投稿
猜你喜欢
- js部分setInterval("time_controller()",1000);function time_cont
- 1.运行效果如图所示2.实现代码如下<!DOCTYPE html><html><head> <me
- 查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效
- //关闭,父窗口弹出对话框,子窗口直接关闭this.Response.Write("<script language=jav
- 比如说点的是图片的左边,还是右边,上边还是下边?点击图片左右显示上下张,我怎么知道?这样就可以做出像QQ空间那样,打开上一个图片和下一个图片
- 现在Web页面的交互方式越来越多样化,其中拖放页面元素也是一种很常见的操作。在这类操作当中有两个主要问题需要解决,一个是事件的注册方式,一般
- jxdawei的个人博客:http://www.iwcn.net本文目的:与您分享如何学习基于web标准的网页制作。适合人群:网页制作初学者
- 步骤——1:定位在通过与客户,或与和客户接触的业务人员交流,做出一个准确的定位.定位的准确与否,虽然不能决定一定通过,但如果定位不准或相差太
- 使用方法和步骤如下:step1检测是否已经启用ServiceBroker,检测方法:SelectDATABASEpRoPERTYEX(
- 尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表示全力支持XML,并开发了不少XML工具。Adobe公司的Fram
- 一直以来,我们大多使用js来实现弹出菜单,可是根据 w3c 的css标准,根本就没有这个必要。只需要简单得使用css+html就可以做出一个
- 背景今天突然想到之前被要求做同性质银行的数据分析。妈耶!十几个银行,每个银行近5年的财务数据,而且财务报表一般都是 pdf 的,我们将 pd
- 阅读上一章:Css布局Chapter 13 为文字指定样式我想以一章的篇幅来讨论用CSS设定文字样式的做法是个好点子.一般处理文字内容大概是
- 看过一篇关于下载网页中图片的文章,它只能下载以http头的图片,我做了些改进,可以下载网页中的所有连接资源,并按照网页中的目录结构建立本地目
- 这是来自于Steven D编写的WEB前端开发设计要点的内容。虽然许多设计师已非常熟练的使用了Web标准,让人遗憾的是有很多细节的排版处理仍
- system函数 说明:执行外部程序并显示输出资料。 语法:string system(string command, int [retur
- 打开php.ini,首先找到;;;;;;;;;;;;;;;;; file uploads ;;;;;;;;;;;;;;;;;区域,有影响文件
- 本文实例讲述了Python计时相关操作。分享给大家供大家参考,具体如下:内容目录:1. 时间戳2. 当前时间3. 时间差4. python中
- 如何做一个树状展开视图来显示自己的记录结构?在SQL中,如何做一个可收起和展开树状结构图?就是资源管理器左栏的那种效果。这要用到Data s
- 很久没写过东西了,今天看了chinahuman 的《用asp自动解析网页中的图片地址,并将其保存到本地服务器》,于是优化了这个程序,并且将所