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 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.模块的分类 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数 ...
随机推荐
- OpenSSL.Net 在生产环境中无法正常加载的原因分析与解决 z
http://blog.csdn.net/wangjia184/article/details/6990098 http://www.openssl.org/ 在本地测试好好的代码部署到生产环境后,遇 ...
- WAKE-WIN10-SOFT-软件-Matlab配置及工具箱
1Matlab 1,1Matlab下载,安装,配置,,, 1,2 2工具箱 2,1LibSVM 必应:https://www.bing.com/search?q=libsvm&qs=n& ...
- oozie fork join结点
oozie可以用fork和join节点进行多任务并行处理,同时fork和join也是同时出现,缺一不可. 语法: <workflow-app name="[WF-DEF-NAME]&q ...
- 接口测试get请求url拼接函数(python)
get请求地址一般是 协议+域名+端口+路径+参数,除了协议和域名其他均可为空. http(s)://domain:port/path?key1=value1&key2=value2& ...
- POJ 3067 Japan 【树状数组经典】
题目链接:POJ 3067 Japan Japan Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 32076 Accep ...
- Codeforces Round #361 (Div. 2) E. Mike and Geometry Problem 【逆元求组合数 && 离散化】
任意门:http://codeforces.com/contest/689/problem/E E. Mike and Geometry Problem time limit per test 3 s ...
- public /protected/private的作用域
作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × ×
- android jni 之C语言基础
*含义 1.乘法 3*5 2.定义指针变量 int * p://定义了一个名字叫p的变量,能够存放int数据类型的地址 3.指针运算符, //如果p是一个已经定义好的指针变量则*p表示以p的内容为地址 ...
- eclipse 安装/卸载插件
1.通过Help>>Install New Soft 之后弹出对话框,可以通过“Add”按钮添加已经有的插件的(zip等)或者输入安装地址,之后按照要求即可.2.对于安装失败的插件,再次进 ...
- Angularjs实例应用
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...