系统性能信息模块psutil

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

#CentOS6.4安装psutil

#pip安装
#pip3 install psutil

获取系统性能信息

1 cpu信息
#Linux系统cpu利用率有以下几个部分
#User Time,执行用户进程的时间百分比
#System Time,执行内核进程和中断的时间百分比
#Wait IO,由于IO等待使cpu处于idle(空闲)状态的时间百分比
#Idle,cpu处于空闲状态的时间百分比 >>> import psutil
#获取cpu完成信息
>>> psutil.cpu_times()
scputimes(user=29.36, nice=0.0, system=26.59, idle=9619.35, iowait=64.78, irq=0.5, softirq=1.67, steal=0.0, guest=0.0) #获取用户user的cpu时间比
>>> psutil.cpu_times().user
34.54 #获取cpu逻辑个数
>>> psutil.cpu_count()
4 #获取cpu物理个数
>>> psutil.cpu_count(logical=False)
4 2 内存信息
#Linux系统的内存利用率信息涉及
#total 内存总数
#used 已使用的内存数
#free 空闲内存数
#buffers 缓冲使用数
#cache 缓存使用数
#swap 交换分区使用数 等
#使用 psutil.virtual_memory()与psutil.memory()方法获取 #获取内存完整信息
>>>mem = psutil.virtual_memory()
>>> mem
svmem(total=1961488384, available=1483986944, percent=24.3, used=341475328, free=941473792, active=677801984, inactive=212774912, buffers=32038912, cached=646500352, shared=4116480) #获取内存总数
>>> mem.total
1961488384 #获取空闲内存数
>>> mem.free
941473792 #获取SWAP分区信息
>>> psutil.swap_memory()
sswap(total=2147475456, used=0, free=2147475456, percent=0.0, sin=0, sout=0) 3 磁盘信息
#磁盘利用率使用psutil.disk_usage()方法获取
#IO信息
#read_count 读IO数
#write_count 写IO数
#read_bytes IO读字节数
#write_bytes IO写字节数
#read_time 磁盘读时间
#write_time 磁盘写时间
#使用psutil.disk_io_counters()获取 #获取磁盘完整信息
>>> psutil.disk_partitions()
[sdiskpart(device='/dev/sda3', mountpoint='/', fstype='ext4', opts='rw'), sdiskpart(device='/dev/sda1', mountpoint='/boot', fstype='ext4', opts='rw')] #获取/分区使用情况
>>> psutil.disk_usage('/')
sdiskusage(total=18506760192, used=4438568960, free=13128093696, percent=25.3) #获取硬盘总IO数
>>> psutil.disk_io_counters() 4 网络信息
#bytes_sent 发送字节数
#bytes_recv 接收字节数
#packets_sent 发送数据包数
#packest_recv 接收数据包数
#使用psutil.net_io_counters()获取
>>> psutil.net_io_counters() 5 其他系统信息
#psutil模块还支持获取用户登录,开机时间等信息
#显示当前登录系统的用户信息
>>> psutil.users() #获取开机时间
>>> psutil.boot_time()

系统进程管理方法

psutil在获取进程信息方面也提供了很好的支持,包括使用psutil.pids()方法获取所有PID,使用psutil.Process()方法获取单个进程的名称,路径,系统资源利用率等信息。

#列出所有进程的PID
>>> psutil.pids() #实例化一个Process对象,参数为一个PID
>>>p = psutil.Process(3197) #进程名
>>> p.name()
'python3' #进程bin路径
>>> p.exe()
'/opt/python3/bin/python3.5' #进程工作绝对路径
>>> p.cwd() #进程状态
>>> p.status() #进程创建时间
>>> p.create_time() #uid信息
>>> p.uids() #gid信息
>>> p.gids() #进程cpu时间,包括user,system两个时间
>>> p.cpu_times() #进程内存利用率
>>> p.memory_percent() #进程内存rss,vms信息
>>> p.memory_info() #进程IO信息
>>> p.io_counters() #进程开启的线程数
>>> p.num_threads()

  

python---psutil的更多相关文章

  1. python psutil简单示例

    python psutil简单示例 利用psutil编写简单的检测小脚本 0.安装psutil模块                                                    ...

  2. 安装 python psutil 包

    yum install python-pip 下载 psutil https://pypi.python.org/pypi?:action=display&name=psutil#downlo ...

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

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

  4. python - psutil 系统信息模块

    # .psutil是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. # 它主要用来做系统监控,性能分析,进程管理. # 它实现了同等命令行工具提供的功能 ...

  5. python psutil监控系统资源【转】

    通过 运用 Python 第三方 系统 基础 模块, 可以 轻松 获取 服务 关键 运营 指标 数据,包括 Linux 基本 性能. 块 设备. 网卡 接口. 系统 信息. 网络 地址 库 等 信息. ...

  6. python psutil 编译中断。 error: command 'gcc' failed with exit status 1

    error info [root@chenbj psutil-2.0.0]# python setup.py install running install running bdist_egg run ...

  7. python psutil 模块

    一.获取系统性能信息 1 .CPU信息 User time,执行用户进程的时间百分比 System time,执行内核进程和中断的百分比 Wait IO,由于IO等待而使CPU处于idle(空闲)状态 ...

  8. Python psutil模块使用

    import psutil # 获取内存信息 mem = psutil.virtual_memory() total = mem.total / 1024 / 1024 / 1024 used = m ...

  9. python——psutil的使用(获取进程信息)

    import psutil psutil.pids() [1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 27, 28, 2 ...

  10. Python——psutil的使用(获取系统性能信息)

    >>> import psutil #导入psutil >>> a=psutil.virtual_memory() >>> a.total #总虚 ...

随机推荐

  1. VIm 一些常用的设置

    一些常用的vim设置   以下内容皆来源于网络,感谢原作者.如果引用出处错误,请告知以便修改. 1. vim的几种模式和按键映射 转载自:[1] Map是Vim强大的一个重要原因,可以自定义各种快捷键 ...

  2. Windows平台下PHP环境搭建

    在Windows平台上搭建PHP的开发环境可以下载WAMP(Windows.Apache.MySQL.PHP的首字母缩写)集成化安装包.这样就不需要单独安装Apache.MySQL和PHP了. 这款软 ...

  3. div内容滚动,无缝滚动

    function startmarquee(lh, speed, delay) {        var t;        var oHeight = 373; /** div的高度 **/     ...

  4. oracle实现split函数功能

    转载: http://blog.csdn.net/jojo52013145/article/details/6758279在实际的应用中,为了让PL/SQL 函数返回数据的多个行,必须通过返回一个 R ...

  5. win32自绘按钮,使用GDI+(一)

    第一次写随笔,我本来想将win32窗口的标题栏设置成渐变色,像这样的效果 但发现找不到设置标题栏属性的api,SetWindowLong也只是增减窗口的固定的样式而已.所以想到一个思路,把标题栏去掉, ...

  6. 最近开发的ECG项目

    最近参与公司开发了一款读取ECG心电接口程序 原理就是通过心电设备读取患者的心电数据 并生成ECG文件 然后通过ECG客户端程序读取ECG文件 并解析转换成图片 上传至服务器 下边是客户端程序截图 客 ...

  7. day27_反射

    1.反射-概述(掌握) 反射就是在程序运行过程中,通过.class文件动态的获取类的信息(属性,构造,方法),并调用 注意:JAVA不是动态语言,因为动态语言强调在程序运行过程中不仅能获取并调用类里面 ...

  8. mysql 数据库迁移

    公司的视频转码服务 使用mysql作为 任务队列, 其中mysql 是我们自己维护的 单例. 后来应业务部门建议,我们计划将现有的mysql 向dba进行迁移,以下记录一下 数据库迁移过程中的东西. ...

  9. window.loaction和window.location.herf

    href相当于打开一个新页面,replace相当于替换当前页面这里打开页面都是针对历史记录来说,在页面上看完全相同,只是浏览器的history表现不同如果在1.html中点击链接到2.html,然后2 ...

  10. 医院管理者必须知道的医院客户关系管理(CRM)

    客户关系管理(customer relationship management,CRM)是在二战之后首先由美国IBM.道氏.通用等大型企业提出并运用的一种以有效销售为目的的市场营销思想,其理论基础就是 ...