Python自动化运维——系统性能信息模块
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利用率主要包括以下几部分
- User time,执行用户进程的时间百分比
- System time,执行内核进程和中断的时间百分比
- Wait IO,由于IO等待而使CPU处于idle(空闲)状态的时间百分比
- 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 的物理个数
内存信息:
内存信息主要包括以下几个部分:
- Total(内存总数)
- Used(已使用的内存数)
- Free(空闲内存数)
- Buffers(缓冲使用数)
- Cache(缓存使用数)
- Swap(交换分区使用数)
Psutil.virtual_memory()和psutil.swap_memory() 使用方法:
#import psutil #mem=psutil.virtual_memory() # 获取内存完整信息 #print(mem) #mem.total # 获取内存总数 #mem.free # 获取空闲内存数 #psutil.swap_memory() # 获取swap分区信息
磁盘信息:
磁盘信息主要包括以下几个部分:
- Read_count(读IO数)
- Write_time(写IO数)
- Read_bytes(IO读字节数)
- Read_time(磁盘读时间)
- 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个数、读写信息
网络信息:
网络信息主要包括以下几个部分:
- Bytes_sent(发送字节数)
- Bytes_recv(接收字节数)
- Packets_sent(发送数据包数)
- 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自动化运维——系统性能信息模块的更多相关文章
- Python自动化运维:技术与最佳实践 PDF高清完整版|网盘下载内附地址提取码|
内容简介: <Python自动化运维:技术与最佳实践>一书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的 ...
- Day1 老男孩python自动化运维课程学习笔记
2017年1月7日老男孩python自动化运维课程正式开课 第一天学习内容: 上午 1.python语言的基本介绍 python语言是一门解释型的语言,与1989年的圣诞节期间,吉多·范罗苏姆为了在阿 ...
- python自动化运维学习第一天--day1
学习python自动化运维第一天自己总结的作业 所使用到知识:json模块,用于数据转化sys.exit 用于中断循环退出程序字符串格式化.format字典.文件打开读写with open(file, ...
- 【目录】Python自动化运维
目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...
- python自动化运维篇
1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...
- Python自动化运维的职业发展道路(暂定)
Python职业发展之路 Python自动化运维工程 Python基础 Linux Shell Fabric Ansible Playbook Zabbix Saltstack Puppet Dock ...
- Python自动化运维 技术与最佳实践PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:7bl4 一.内容简介 <python自动化运维:技术与最佳实践>一书在中国运维领域将有"划时代"的重要意义:一方面,这是国内第一本从纵.深和实践角度探 ...
- python自动化运维之CMDB篇-大米哥
python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ ...
- python自动化运维之路~DAY5
python自动化运维之路~DAY5 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...
随机推荐
- 设计模式——工厂方法模式(Factory Method)
原文地址:http://www.cnblogs.com/Bobby0322/p/4179921.html 介绍 在简单工厂模式中,我们提到,工厂方法模式是简单工厂模式的一个延伸,它属于Gof23中设计 ...
- Asterisk 对wav格式的支持
经过测试wav格式文件仅支持PCM 8000kHz 16bit 单声道,非常蛋疼的一个原因,排查了好久! 关于C#支持的一些格式(Mono 单声道 .Stereo 立体声道) // Standard ...
- 网络防火墙之iptables的前世今生和归宿
任何事物都有一个从无到有,再归于无的过程.是的,我这里用了一个绝对词:任何. 防火墙 在计算机领域中,防火墙(英文:Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的 ...
- OC block声明和使用
#import "Button.h" typedef int (^MySum) (int, int); void test() { // 定义了一个block,这个block返回值 ...
- 20165322 学习基础及C语言基础调查
学习基础和C语言基础调查 一.技能学习经验 有什么技能比90%的人更好? 说来惭愧,我并不认为自己有什么技能能超过90%的人.我从小喜爱水彩画和推理解谜,在自己一些闲余时间的练习与学习下,应该可以超过 ...
- PHP 重新格式化var_dump/print_r打印的数组
// 在使用var_dump/print_r时 打印出来的数组 都是一行显示的, 看起来不方便 function dump($vars, $label = '', $return = false) { ...
- 基于bootstrap模态框的二次封装
一.参数设置 $.beamDialog(options); var defaults = { title:'标题', content:'内容', showCloseButton:true, //显示关 ...
- Oracle数据库对象,同义词、序列、视图、索引
数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...
- Code First 一
Code-First和我们的数据库优先方式是相反的,数据库优先是通过数据库映射出相应的类和上下文,Code-First测试通过创建的类和上下文得到相应的数据库. Code-First主要用于领域驱动设 ...
- ProjectServer如何创建时间表
默认配置的ProjectServer是没有时间表的,任务汇报的时候不能汇报工时,只能汇报任务的百分比. 但如果有企业一定要用工时来汇报的话,我们就需要开启时间表. 点击服务器设置-->时间报告阶 ...