python功能模块之psutil_1.python系统性能信息模块之psutil模块

 2023-09-07 阅读 23 评论 0

摘要:Psutil(进程和系统实用程序)是一个跨平台的库,用于在Python中检索有关运行进程和系统资源利用率(CPU,内存,磁盘,网络)的信息。它主要用于系统监视,分析和限制系统资源及运行进程的管理。它实现了Linux命令工具提供的许多功能,例如&

Psutil(进程和系统实用程序)是一个跨平台的库,用于在Python中检索有关运行进程和系统资源利用率(CPU,内存,磁盘,网络)的信息。它主要用于系统监视,分析和限制系统资源及运行进程的管理。它实现了Linux命令工具提供的许多功能,例如:ps,top,lsof,netstat,ifconfig,who,df,kill,nice,ionice,iostat,iotop,uptime,pidos,tty,tasket,pmap等。psutil目前支持以下平台:linux、Windows、OSX、FreeBSD,OpenBSD、NETBSD、sun Solaris、AIX操作系统。所以是python实现系统运维不可或缺的模块。

我这里使用windows10系统,pip install psutil安装

具体使用:

一.系统管理

python模块导入。1.查看cpu信息

psutil.cpu_times()

参数介绍:

user:用户进程使用的CPU时间累计

nice:优先级为负值的进程使用时间

python内置模块?system:内核进程使用时间累计

idle:CPU空闲时间累计

iowait:等待IO花费的时间

irq:硬中断时间累计

softirq:软中断时间累计

python functiontools?steal:花费在虚拟机中的时间

2.显示cpu所有逻辑信息

psutil.cpu_times(percpu=True)

3.查看用户的cpu时间比

psutil.cpu_times().user

python数据处理模块。4.查看cpu逻辑个数

psutil.cpu_count()

5.查看cpu物理个数

psutil.cpu_count(logical=False)

-----------------------------------------------

python自动化模块。6.查看系统内存

mem = psutil.virtual_memory() //系统内存所有信息

mem.total //系统总计内存

mem.used //系统已经使用内存

mem.free //系统空闲内存

python sys模块?mem.active //系统正在使用的内存和最近使用内存

mem.inactive //系统已经分配的内存,但还没有使用的

mem.shared //系统共享的内存

mem.buffers //系统缓冲区内存

mem.cached //系统cpu缓存空间,存放经常使用的数据

python模块有哪些?7.获取swap交换内存信息

psutil.swap_memory()

----------------------------------------------

8.读取磁盘参数

磁盘IO信息包括

python time模块,read_count(读IO数),

write_count(写IO数)

read_bytes(IO写字节数),

read_time(磁盘读时间),

write_time(磁盘写时间)

python re模块。9.获取分区信息

psutil.disk_partitions()

10.获取指定分区的信息

psutil.disk_usage('/') #获取/分区的状态

11.获取磁盘总的IO详情

psutil.disk_io_counters()

12.获取单个分区IO个数

psutil.disk_io_counters(perdisk=True) #perdisk=True参数获取单个分区IO个数

13.读取网络信息

网络信息与磁盘IO信息类似,涉及到几个关键点,包括

byes_sent(发送字节数),

byte_recv=xxx(接受字节数),

pack-ets_sent=xxx(发送字节数),

pack-ets_recv=xxx(接收数据包数),这些网络信息用

获取网络总IO信息

psutil.net_io_counters()

14.输出网络每个接口信息

psutil.net_io_counters(pernic=True) #pernic=True

15.获取当前系统用户登陆信息

psutil.users()

16.获取系统开机时间

psutil.boot_time() #以linux时间格式返回

17.将获取到的时间转换成可视时间

import datetime

datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S")

二.系统进程管理

列出所有的进程信息:

>>> res = psutil.process_iter()

>>> for i in res:

... print(i)

1.列出系统所有进程的ID

psutil.pids()

2.获取某一进程的信息,参数为pid

psutil.Process(pid)

3.获取指定进程的名称

psutil.Process(pid).name()

4.获取指定进程的执行命令的路径

psutil.Process(pid).exe()

5.获取指定进程的工作路径的绝对路径

psutil.Process(pid).cwd()

6.获取进程的状态

psutil.Process(pid).status()

7.进程创建时间

psutil.Process(pid).create_time()

8.以可视的方式显示创建进程的时间

datetime.datetime.fromtimestamp(psutil.Process(pid).create_time()).strftime("%Y-%m-%d %H: %M: %S")

9.获取指定进程的uid信息

psutil.Process(pid).uids()

10.获取指定进程的gid信息

psutil.Process(pid).gids()

11.获取指定进程的cpu时间信息,包括user,system

psutil.Process(pid).cpu_times()

12.获取进程cpu的亲和度

psutil.Process(pid).cpu_affinity()

13.进程内存的利用率

psutil.Process(pid).memory_percent()

14.进程内存的rss和vms的值

psutil.Process(pid).memory_info()

15.指定进程的IO数,包括读写IO数及字节数

psutil.Process(pid).io_counters()

16.返回打开进程的socket的namedutples列表,包括(fs,family,laddr)等信息

psutil.Process(pid).connections()

17.指定进程开启的线程数

psutil.Process(pid).num_threads()

-------------------------------------------------------

18.popen类的使用

from subprocess import PIPE

P = psutil.Popen(["/usr/bin/python","-c","print('hello')"],stdout=PIPE) 执行系统中的命令,非交互,并且输出。

>>> P.name()

'python'

>>> P.username()

'root'

>>> P.communicate()

('hello\n', None)

系统性能信息模块之psutil模块

一.psutil模块介绍 官方网址:https://pypi.org/ psutil模块安装:https://github.com/giampaolo/psutil/blob/master/INSTA ...

python之系统性能信息模块psutil

系统性能信息模块psutil 跨平台库 轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. 主要用于系统监控,分析和限制系统资源及进程的管理 实现同等命令行工具提供的功能( ...

python自动化运维笔记1 —— 系统性能信息模块psutil

一.系统基础信息模块 1.1 系统性能信息模块psutil psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率( ...

python之psutil模块(获取系统性能数据)

psutil模块 1.介绍 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

python之psutil模块(获取系统性能信息(CPU,内存,磁盘,网络)

一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

15.python笔记之psutil模块

一.psutil模块 1. psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等) ...

自动化之路 python psutil模块 收集硬件信息

一.psutil模块 1. psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控,分析和限制系统资源及进程的管理.它实现了 ...

[Python Study Notes]psutil模块

系统性能信息模块psutil psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等 ...

python运维开发常用模块(一)psutil

1.模块简介 psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻 松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网 络等)信息.它主 ...

随机推荐

C语言atan2()函数:求y/x的反正切值

头文件:#include atan2() 函数用于求 y / x 的反正切值.其原型为:    double atan2(double y, double x); [参数 ...

discuz怎么根据连接知道调用的是什么模板页面

其实不怎么难,基本都可以看出discuz是怎么样调用模板页面的 这个是论坛的帖子的列表页,看到url就可以看出是forum目录下的forumdisplay这个模板,forumdisplay.html这 ...

zhuan:ubuntu下安装Apache2+php+Mysql

from: http://www.cnblogs.com/lynch_world/archive/2012/01/06/2314717.html ubuntu下安装Apache+PHP+Mysql 转 ...

对c++服务端进行覆盖率统计

(1)首先需要为每个被测程序的所有编译文件增加选项,如果文件太多,这无疑是灾难,可利用spec文件达到目的 sed -i '$ a\export LD_PRELOAD=/usr/local/bin/c ...

poj 3422 (费用流)

从左上角到有下角k次能获得的最大值. 跟hdu 2686一样的题目,这题一个点可以重复走,只能得到一次值. #include #include

ios自定义数字键盘

因为项目又一个提现的功能,textfiled文本框输入需要弹出数字键盘,首先想到的就是设置textfiled的keyboardType为numberPad,此时你会看到如下的效果:   但是很遗憾这样 ...

netData.go 阅读源码

) // 定义数据传输结构 type NetData struct {     // 消息体     Body interface{}     // 操作代号     Operation string ...

监听器的配置,绑定HttpSessionListener监听器的使用

监听器的配置,绑定 监听器的全路径 Se ...

[php-error-report]PHP Strict Standards: Only variables should be passed by reference

// 报错代码:PHP Strict Standards: Only variables should be passed by reference $arr_userInfo['im_nation_ ...

关于C++中字符串与数字的互相转换

方法搬自博客:  Qt数据类型转换  侵删 1. 把QString转换为double类型 //法一: QString str="123.45"; double val=str.to ...

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/12163.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息