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模块的更多相关文章

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

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

  2. Python运维自动化psutil 模块详解(超级详细)

    psutil 模块 参考官方文档:https://pypi.org/project/psutil/ 一.psutil简介 psutil是一个开源且跨平台(http://code.google.com/ ...

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

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

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

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

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

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

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

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

  7. 15.python笔记之psutil模块

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

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

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

  9. [Python Study Notes]psutil模块

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

随机推荐

  1. python 不同版本下载资源

    Unofficial Windows Binaries for Python Extension Packages by Christoph Gohlke, Laboratory for Fluore ...

  2. 第17篇 shell编程基础(2)

    shell study 1.Exit StatusIf the command executed successfully (or true), the value of $? is zero. If ...

  3. PHP 判断手机号归属地 和 运营商的免费接口

    在项目开发的时候,需要去查询又一批手机号或者固话的具体信息(归属地 运营商) 就需要写一个脚本,来批量请求接口来得到我们想要的数据 学习源头:https://blog.csdn.net/shaerdo ...

  4. Oracle LSNRCTL------监听器的启动和关闭

    对于DBA来说,启动和关闭oracle监听器是很基础的任务,但是Linux系统管理员或者程序员有时也需要在开发数据库中做一些基本的DBA操作,因此了解一些基本的管理操作对他们来说很重要. 本文将讨论用 ...

  5. AngularJS:表达式

    ylbtech-AngularJS:表达式 1.返回顶部 1. AngularJS 表达式 AngularJS 使用 表达式 把数据绑定到 HTML. AngularJS 表达式 AngularJS ...

  6. PHP下的命令行执行 php -S localhost -t public(public是根目录,也是入口文件所在目录,是LARAVEL的)

    PHP 的命令行模式     以下是 PHP 二进制文件(即 php.exe 程序)提供的命令行模式的选项参数,您随时可以通过 PHP -h 命令来查询这些参数. Usage: php [option ...

  7. 混搭下的C与C++内存操作

    源自最近遇到一个的问题,先介绍一下背景.项目中混用了C与C++编程范式,鉴于项目成员背景不一,每个模块的负责人可以自行2选1.同时为了提高效率,C范式的模块被允许使用STL库的部分容器(其实也就仅仅大 ...

  8. gcc及其选项详解

    1.简介: gcc是gnu旗舰产品,目前基本上就是和unix捆绑在一起分发的.这个东西功能强大,但是有多达上千个选项,其用户手册也有将近一万行.虽然其中的多数选项平时很少用到.但是不管装软件还是写程序 ...

  9. IDA Pro 权威指南学习笔记(一) - 启动 IDA

    启动 IDA 启动 IDA,有一个欢迎界面 之后有一个对话框 选择 New 将启动一个对话框来选择将要分析的文件 选择 Go 将使 IDA 打开一个空白的工作区 如果要选择分析的文件,可以直接拖到 I ...

  10. 内网渗透神器xerosploit

    项目地址:https://github.com/LionSec/xerosploit 安装完成后直接在终端输入xerosploit打开 显示了本机的内网ip,mac地址,网关,网卡,输入help查看帮 ...