1.python系统性能信息模块之psutil模块
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实现系统运维不可或缺的模块。
官方下载地址:https://pypi.org/
psutil模块安装:https://github.com/giampaolo/psutil
我这里使用windows10系统,pip install psutil安装
具体使用:
一.系统管理
1.查看cpu信息
psutil.cpu_times()
参数介绍:
- user:用户进程使用的CPU时间累计
- nice:优先级为负值的进程使用时间
- system:内核进程使用时间累计
- idle:CPU空闲时间累计
- iowait:等待IO花费的时间
- irq:硬中断时间累计
- softirq:软中断时间累计
- steal:花费在虚拟机中的时间
2.显示cpu所有逻辑信息
psutil.cpu_times(percpu=True)
3.查看用户的cpu时间比
psutil.cpu_times().user
4.查看cpu逻辑个数
psutil.cpu_count()
5.查看cpu物理个数
psutil.cpu_count(logical=False)
-----------------------------------------------
6.查看系统内存
mem = psutil.virtual_memory() //系统内存所有信息
mem.total //系统总计内存
mem.used //系统已经使用内存
mem.free //系统空闲内存
mem.active //系统正在使用的内存和最近使用内存
mem.inactive //系统已经分配的内存,但还没有使用的
mem.shared //系统共享的内存
mem.buffers //系统缓冲区内存
mem.cached //系统cpu缓存空间,存放经常使用的数据
7.获取swap交换内存信息
psutil.swap_memory()
----------------------------------------------
8.读取磁盘参数
磁盘IO信息包括
read_count(读IO数),
write_count(写IO数)
read_bytes(IO写字节数),
read_time(磁盘读时间),
write_time(磁盘写时间)
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)
1.python系统性能信息模块之psutil模块的更多相关文章
- 系统性能信息模块之psutil模块
一.psutil模块介绍 官方网址:https://pypi.org/ psutil模块安装:https://github.com/giampaolo/psutil/blob/master/INSTA ...
- Python运维自动化psutil 模块详解(超级详细)
psutil 模块 参考官方文档:https://pypi.org/project/psutil/ 一.psutil简介 psutil是一个开源且跨平台(http://code.google.com/ ...
- 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 不同版本下载资源
Unofficial Windows Binaries for Python Extension Packages by Christoph Gohlke, Laboratory for Fluore ...
- 第17篇 shell编程基础(2)
shell study 1.Exit StatusIf the command executed successfully (or true), the value of $? is zero. If ...
- PHP 判断手机号归属地 和 运营商的免费接口
在项目开发的时候,需要去查询又一批手机号或者固话的具体信息(归属地 运营商) 就需要写一个脚本,来批量请求接口来得到我们想要的数据 学习源头:https://blog.csdn.net/shaerdo ...
- Oracle LSNRCTL------监听器的启动和关闭
对于DBA来说,启动和关闭oracle监听器是很基础的任务,但是Linux系统管理员或者程序员有时也需要在开发数据库中做一些基本的DBA操作,因此了解一些基本的管理操作对他们来说很重要. 本文将讨论用 ...
- AngularJS:表达式
ylbtech-AngularJS:表达式 1.返回顶部 1. AngularJS 表达式 AngularJS 使用 表达式 把数据绑定到 HTML. AngularJS 表达式 AngularJS ...
- PHP下的命令行执行 php -S localhost -t public(public是根目录,也是入口文件所在目录,是LARAVEL的)
PHP 的命令行模式 以下是 PHP 二进制文件(即 php.exe 程序)提供的命令行模式的选项参数,您随时可以通过 PHP -h 命令来查询这些参数. Usage: php [option ...
- 混搭下的C与C++内存操作
源自最近遇到一个的问题,先介绍一下背景.项目中混用了C与C++编程范式,鉴于项目成员背景不一,每个模块的负责人可以自行2选1.同时为了提高效率,C范式的模块被允许使用STL库的部分容器(其实也就仅仅大 ...
- gcc及其选项详解
1.简介: gcc是gnu旗舰产品,目前基本上就是和unix捆绑在一起分发的.这个东西功能强大,但是有多达上千个选项,其用户手册也有将近一万行.虽然其中的多数选项平时很少用到.但是不管装软件还是写程序 ...
- IDA Pro 权威指南学习笔记(一) - 启动 IDA
启动 IDA 启动 IDA,有一个欢迎界面 之后有一个对话框 选择 New 将启动一个对话框来选择将要分析的文件 选择 Go 将使 IDA 打开一个空白的工作区 如果要选择分析的文件,可以直接拖到 I ...
- 内网渗透神器xerosploit
项目地址:https://github.com/LionSec/xerosploit 安装完成后直接在终端输入xerosploit打开 显示了本机的内网ip,mac地址,网关,网卡,输入help查看帮 ...