一、psutil模块

1. psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统.

2、window10操作系统(Python 3.6开发环境)安装psutil

D:\Program Files\python\Scripts>pip.exe install D:\python\psutil-5.2.2-cp36-cp36m-win_amd64.whl

Processing d:\python\psutil-5.2.2-cp36-cp36m-win_amd64.whl

Installing collected packages: psutil

Successfully installed psutil-5.2.2

psutil.whl文件待上传:

3.使用

获取系统性能信息(CPU,内存,磁盘,网络)

3.1CPU相关

查看cpu信息

import Psutil

#查看cpu所有信息

>>> psutil.cpu_times()

scputimes(user=11677.09, nice=57.93, system=148675.58, idle=2167147.79, iowait=260828.48, irq=7876.28, softirq=0.0, steal=3694.59, guest=0.0, guest_nice=0.0)

显示cpu所有逻辑信息

>>> psutil.cpu_times(percpu=True)

[scputimes(user=11684.17, nice=57.93, system=148683.01, idle=2168982.08, iowait=260833.18, irq=7882.35, softirq=0.0, steal=3697.3, guest=0.0, guest_nice=0.0)]

查看用户的cpu时间比

>>> psutil.cpu_times().user

11684.4

查看cpu逻辑个数

>>> psutil.cpu_count()

1

查看cpu物理个数

>>> psutil.cpu_count(logical=False)

1

3.2查看系统内存

>>> import psutil

>>> mem = psutil.virtual_memory()

>>> mem

#系统内存的所有信息

svmem(total=1040662528, available=175054848, percent=83.2, used=965718016, free=74944512, active=566755328, inactive=59457536, buffers=9342976, cached=90767360)

系统总计内存

>>> mem.total

1040662528

系统已经使用内存

>>> mem.used

965718016

系统空闲内存

>>> mem.free

112779264

获取swap内存信息

>>> psutil.swap_memory()

sswap(total=0, used=0, free=0, percent=0, sin=0, sout=0)

读取磁盘参数

磁盘利用率使用psutil.disk_usage方法获取,

磁盘IO信息包括read_count(读IO数),write_count(写IO数)

read_bytes(IO写字节数),read_time(磁盘读时间),write_time(磁盘写时间),这些IO信息用

psutil.disk_io_counters()

获取磁盘的完整信息

psutil.disk_partitions()

获取分区表的参数

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

获取硬盘IO总个数

psutil.disk_io_counters()

获取单个分区IO个数

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

读取网络信息

网络信息与磁盘IO信息类似,涉及到几个关键点,包括byes_sent(发送字节数),byte_recv=xxx(接受字节数),

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

获取网络总IO信息

psutil.net_io_counters()

输出网络每个接口信息

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

获取当前系统用户登录信息

psutil.users()

获取开机时间

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

datetime.datetime.fromtimestamp(psutil.boot_time ()).strftime("%Y-%m-%d %H: %M: %S") #转换成自然时间格式

系统进程管理

获取当前系统的进程信息,获取当前程序的运行状态,包括进程的启动时间,查看设置CPU亲和度,内存使用率,IO信息

socket连接,线程数等

获取进程信息

查看系统全部进程

psutil.pids()

查看单个进程

p = psutil.Process(2423)

p.name() #进程名

p.exe() #进程的bin路径

p.cwd() #进程的工作目录绝对路径

p.status() #进程状态

p.create_time() #进程创建时间

p.uids() #进程uid信息

p.gids() #进程的gid信息

p.cpu_times() #进程的cpu时间信息,包括user,system两个cpu信息

p.cpu_affinity() #get进程cpu亲和度,如果要设置cpu亲和度,将cpu号作为参考就好

p.memory_percent() #进程内存利用率

p.memory_info() #进程内存rss,vms信息

p.io_counters() #进程的IO信息,包括读写IO数字及参数

p.connectios() #返回进程列表

p.num_threads() #进程开启的线程数

听过psutil的Popen方法启动应用程序,可以跟踪程序的相关信息

from subprocess import PIPE

p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"],stdout=PIPE)

p.name()

p.username()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python3.3psutil模块安装_详解Python3.6安装psutil模块和功能简介相关推荐

  1. python3 yield 大文件_详解Python3中yield生成器的用法

    任何使用yield的函数都称之为生成器,如: def count(n): while n > 0: yield n #生成值:n n -= 1 另外一种说法:生成器就是一个返回迭代器的函数,与普 ...

  2. python3读文件中文_详解Python3解决读取中文文件txt编码的问题

    import jieba import jieba.analyse from matplotlib import pyplot as plt from scipy.misc import imread ...

  3. redhat5 oracle11g安装全程详解,RedHat5+Oracle11g安装全程详解.doc

    RedHat5+Oracle11g安装全程详解 一.安装Linux 设备环境:Vmware虚拟机,操作系统为Redhat 5(32位) 使用Linux图形化界面安装,没什么可说的,主要是分区要合理,o ...

  4. SharePoint2007安装图文详解二:安装AD(活动目录)及DNS

    在上一篇SharePoint2007安装图文详解一:安装IIS及相关组件中已经介绍了IIS及相关组件的安装,本篇将详细介绍AD(活动目录)的安装. 打开"管理您的服务器",点击&q ...

  5. SharePoint2007安装图文详解三:安装SqlServer2005

    SharePoint2007 中的很多功能会用到数据库,如分析服务,报表服务等.本文介绍SqlServer2005的安装,数据库的安装很简单,基本上安装默认选项点击下一步即可,需要注意的地方在下面会提 ...

  6. python3.4和3.6的区别_详解Python3.6正式版新特性

    按照Python官网上的计划,Python3.6正式版期望在2016-12-16号发布,也就是这周五.从去年的5月份开始,Python3.6版本就已经动手开发了,期间也断断续续的发布了4个Alpha版 ...

  7. python爬关键词百度指数_详解python3百度指数抓取实例

    百度指数抓取,再用图像识别得到指数 前言: 土福曾说,百度指数很难抓,在淘宝上面是20块1个关键字: 哥那么叼的人怎么会被他吓到,于是乎花了零零碎碎加起来大约2天半搞定,在此鄙视一下土福 安装的库很多 ...

  8. python3中unicode怎么写_详解python3中ascii与Unicode使用

    这篇文章主要为大家详解python3中ascii与Unicode使用的相关资料,需要的朋友可以参考下# Auther: Aaron Fan ''' ASCII:不支持中文,1个英文占1个字节 Unic ...

  9. python socket自动重连_详解python3中socket套接字的编码问题解决

    一.TCP 1.tcp服务器创建 #创建服务器 from socket import * from time import ctime #导入ctime HOST = '' #任意主机 PORT = ...

最新文章

  1. 阿里二面:GET 请求能传图片吗?
  2. 【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )
  3. Python中list和set的区别
  4. adb命令实现一些有趣的功能
  5. 数据结构趣题——顺序表就地逆置
  6. 在StackBlitz上setup SAP Spartacus
  7. 网页复选框设置只能选一个_男生在密室呆一个月, 只能选手机或者女人, 结果太现实...
  8. [前台]---ajax返回200成功,却进入error函数的解决方法
  9. 拳打苹果 脚踢三星 国产品牌占据泰国手机市场超半数份额!
  10. linux 权限管理 lvm,Linux LVM 设置和管理
  11. 【学习OpenCV】—— 深入了解 cv::Mat
  12. JSP中乱码问题,你真的理解了么?
  13. 使用python来读取超大型文件数据
  14. java change方法作用_程序员必看之Java中方法的参数传递问题
  15. java 事务管理 子父线程_java父线程子线程(转)
  16. ROS2_Foxy学习1——前言与安装
  17. python 操作微信_利用 Python 实现微信半自动化操作
  18. 什么时候要把方法写成静态的。什么时候写成实例化方法。
  19. 语言学研究思路(本章为分类,以后有别人论文的思路分析)
  20. 半导体显示|LG显示器宣布在韩国投资26亿美元 生产OLED面板

热门文章

  1. 如何将footer标签固定在底部_如何让footer标签置于页面最底部
  2. android4.0闪光灯亮度控制代码,android 应用开发如何调节闪光灯亮度?
  3. 2018年计算机职称考试冲刺,2018年中级会计职称考试冲刺阶段学习计划
  4. HALCON 20.11:深度学习笔记(3)---Data(数据)
  5. Qt输入输出之QProcess
  6. C++函数返回值的规则
  7. 常见印花疵点及产生原因
  8. iView 实现可编辑表格 1
  9. 用户 与组的相关练习
  10. Android Junit测试