Infi-chu:

http://www.cnblogs.com/Infi-chu/

模块:psutil

psutil是一个跨平台库,可以很轻松的为我们实现获取系统运行的进程和资源利用率等信息。

功能:主要是为了系统监控

安装:

wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate

tar -zxvf psutil-2.0.0.tar.gz
cd psutil-2.0.0
python setup.py install

CPU信息:

CPU利用率主要包括以下几部分

  1. User time,执行用户进程的时间百分比
  2. System time,执行内核进程和中断的时间百分比
  3. Wait IO,由于IO等待而使CPU处于idle(空闲)状态的时间百分比
  4. Idle,CPU处于idle状态的时间百分比

Psutil.cpu_times() 使用方法:

#import psutil

#psutil.cpu_times(percpu=True) # 使用cpu_times 方法获取CPU完整信息,需要显示所有逻辑CPU信息,percpu = True可选

#psutil.cpu_times().user # 获取单项数据信息,如用户user 的CPU 时间比

#psutil.cpu_count() # 获取CPU 的逻辑个数,默认logical=True

#psytil.cpu_count(logical=False) # 获取CPU 的物理个数

内存信息:

内存信息主要包括以下几个部分:

  1. Total(内存总数)
  2. Used(已使用的内存数)
  3. Free(空闲内存数)
  4. Buffers(缓冲使用数)
  5. Cache(缓存使用数)
  6. Swap(交换分区使用数)

Psutil.virtual_memory()和psutil.swap_memory() 使用方法:

#import psutil

#mem=psutil.virtual_memory() # 获取内存完整信息

#print(mem)

#mem.total # 获取内存总数

#mem.free # 获取空闲内存数

#psutil.swap_memory() # 获取swap分区信息

磁盘信息:

磁盘信息主要包括以下几个部分:

  1. Read_count(读IO数)
  2. Write_time(写IO数)
  3. Read_bytes(IO读字节数)
  4. Read_time(磁盘读时间)
  5. Write_time(磁盘写时间)

Psutil.disk_io_counters() 使用方法:

#import psutil

#psutil.disk_partitions() # 获取磁盘完整信息

#psutil.disk_usage('/') # 获取分区(参数) 使用情况

#psutil.disk_io_counters() # 获取硬盘总的IO个数、读写信息

#psutil.disk_io_counters(perdisk=True) # 'perdisk=True'参数获取单个分区IO个数、读写信息

网络信息:

网络信息主要包括以下几个部分:

  1. Bytes_sent(发送字节数)
  2. Bytes_recv(接收字节数)
  3. Packets_sent(发送数据包数)
  4. Packets_recv(接收数据包数)

Psutil.net_io_counters() 使用方法:

#import psutil

#psutil.net_io_counters() # 获取网络总的IO信息,默认pernic=False

#psutil.net_io_counters(pernic=True) # 输出每个网络接口的IO信息

其他系统信息:

#import psutil,datetime

#psutil.users() # 返回当前登录系统的用户信息

#psutil.boot_time() # 获取开机时间,以Linux时间戳格式返回

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

  

Python自动化运维——系统性能信息模块的更多相关文章

  1. Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|

    内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...

  2. Day1 老男孩python自动化运维课程学习笔记

    2017年1月7日老男孩python自动化运维课程正式开课 第一天学习内容: 上午 1.python语言的基本介绍 python语言是一门解释型的语言,与1989年的圣诞节期间,吉多·范罗苏姆为了在阿 ...

  3. python自动化运维学习第一天--day1

    学习python自动化运维第一天自己总结的作业 所使用到知识:json模块,用于数据转化sys.exit 用于中断循环退出程序字符串格式化.format字典.文件打开读写with open(file, ...

  4. 【目录】Python自动化运维

    目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...

  5. python自动化运维篇

    1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...

  6. Python自动化运维的职业发展道路(暂定)

    Python职业发展之路 Python自动化运维工程 Python基础 Linux Shell Fabric Ansible Playbook Zabbix Saltstack Puppet Dock ...

  7. Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...

  8. python自动化运维之CMDB篇-大米哥

    python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ  ...

  9. python自动化运维之路~DAY5

    python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...

随机推荐

  1. C# 取整问题

    关于C#里的取整问题,有向上和向下两种取整方式[1]向上取整a=1.2345string res = Math.Ceiling(Convert.ToDecimal(a)).ToString();str ...

  2. Selenium2学习(十)-- iframe定位

    前言 有很多小伙伴在拿163作为登录案例的时候,发现不管怎么定位都无法定位到,到底是什么鬼呢,本篇详细介绍iframe相关的切换 以http://mail.163.com/登录页面10为案例,详细介绍 ...

  3. March 25 2017 Week 12 Saturday

    Better master one than engage with ten. 会十事不如精一事. My colleagues think I have known a lot of things, ...

  4. JZ2440学习笔记之通过J-Link单步裸机程序(Keil+J-Link)

    我们还是使用JZ2440学习笔记之第一个裸机程序(Keil-MDK)里面的程序,但是把延时拿掉,要不然单步的时候一直在delay里面: int main(void) { // Set GPF4/5/6 ...

  5. 昨天刚看了Handler和HandlerThread这个东西,不明白为什么要用这么复杂的东西,而且Handler直接post的话好像还不是子线程运行。那我再开发的时候直接用Thread行不行?两个有什么区别?

    Handler就是android中一个机制,主要是考虑到线程安全的! Handler是可以实现线程间通信的,LZ知道Android的UI线程不安全的吧,也就是说不可以在UI线程以外的其他线程对UI进行 ...

  6. 2018.12.19 Struts2 框架总复习

    总结Struts2 框架 struts2技术的优势 项目开源,使用及拓展方便 提供Exception处理机制 Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转 通过简单.集 ...

  7. java中equals以及==的用法(简单介绍)

    简单介绍 equals方法是java.lang.Object类的方法 有两种用法说明: 一.对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同. 1.“==”比较两 ...

  8. CSU-ACM2018暑假集训比赛1

    A:https://www.cnblogs.com/yinbiao/p/9365127.html B:https://www.cnblogs.com/yinbiao/p/9365171.html C: ...

  9. LINQ to XML简介

    我们的配置文件使用XML存储信息.ADO.NET的DataSet(利用扩展方法)可以方便的将数据保存(或加载)为XML..NET特有的XML API,如XmlReader/XmlWriter类.微端提 ...

  10. 学习WebSocket笔记

    由于HTTP协议是无状态的,服务器只会响应来自客户端的请求,但是它与客户端之间不具备持续连接. 当用户在浏览器上进行操作时,可以请求服务器上的api:但是反过来不可以:服务端发生了一件事,无法将这个事 ...