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. MySQL代码备份

    package com.dus.utils; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io. ...

  2. 【java开发系列】—— JDOM创建、修改、删除、读取XML文件

    有很多中操作XML文件的方法,这里介绍一下JDOM的使用方法和技巧. JDOM下载地址 创建XML文档 XML文件是一种典型的树形文件,每个文档元素都是一个document元素的子节点.而每个子元素都 ...

  3. Quartus II管脚批量分配文件(.tcl)格式

    package require ::quartus::project set_location_assignment PIN_E1 -to clk set_location_assignment PI ...

  4. [libxml2]_[XML处理]_[使用libxml2的xpath特性修改xml文件内容]

    场景: 1.在软件需要保存一些配置项时,使用数据库的话比较复杂,查看内容也不容易.纯文本文件对utf8字符支持也不好. 2.这时候使用xml是最佳选择,使用跨平台库libxml2. 3.基于xpath ...

  5. python:生产者与消费者模型

    1,生产者与消费者模型的矛盾在于数据供需的不平衡 import time import random from multiprocessing import Queue from multiproce ...

  6. 【转】Dalvik虚拟机的启动过程分析

    在Android系统中,应用程序进程都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的.Zygote进程在启动时会创建一个Dalvik虚拟机实例,每当它孵化一个新的应用程序进程 ...

  7. [18/12/05]接口(interface)

    一.定义(类之上的公共标准) 一个特殊的类,用interface关键字来表示.只有全局变量和抽象方法.解决Java中子类只能单继承的问题 [语法] [访问修饰符:public 或 default]  ...

  8. sting.Contains()方法

    作用: 返回一个值,判断给定的string对象 是否出现在指定的字符串当中 例子: if(str_arr[i].Contains(textBox1.Text)){//检查是否有匹配

  9. oracle 基础知识(四)常用函数

    SQL中的单记录函数 .ASCII 返回与指定的字符对应的十进制数; SQL') zero,ascii(' ') space from dual; A A ZERO SPACE --------- - ...

  10. centos安装nodejs二进制包

    1.下载nodejs的二进制包 wget https://nodejs.org/dist/v6.3.1/node-v6.3.1-linux-x64.tar.xz 2.解压下载的安装包 tar xf n ...