Python psutil模块简单使用实例


Posted in Python onApril 28, 2015

安装很简单

pip install psutil

官网地址为:
https://pythonhosted.org/psutil/ (文档上有详细的api)
github地址为:
https://github.com/giampaolo/psutil/

psutil比较好的地方,一个是跨平台,不需要切换平台的时候在重新开放了,另外一个好处的工具集中CPU, memory, disks, network,这些信息都可以获得到。
可以用来做系统监控,性能分析,进程管理。 可以支持的系统有Linux, Windows, OSX, FreeBSD and Sun Solaris,32和64位系统都支持,同时支持pyhton2.4到3.4。

为了看看跨平台的好不好用,在windows实验下

#-*- coding: utf-8 -*-  

#python2.7x  

#author: orangleliu@gmail.com 2014-12-12  

#psutiltest.py  

''''' 

照着教程简单学习下psutil的使用,windows下试试 

'''  

import psutil  

import datetime  

  

#查看cpu的信息  

print u"CPU 个数 %s"%psutil.cpu_count()  

print u"物理CPU个数 %s"%psutil.cpu_count(logical=False)  

print u"CPU uptimes"  

print psutil.cpu_times()  

print ""  

  

#查看内存信息  

print u"系统总内存 %s M"%(psutil.TOTAL_PHYMEM/1024/1024)  

print u"系统可用内存 %s M"%(psutil.avail_phymem()/1024/1024)  

mem_rate = int(psutil.avail_phymem())/float(psutil.TOTAL_PHYMEM)  

print u"系统内存使用率 %s %%"%int(mem_rate*100)  

  

#系统启动时间  

print u"系统启动时间 %s"%datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")  

  

#系统用户  

users_count = len(psutil.users())  

users_list = ",".join([ u.name for u in psutil.users()])  

print u"当前有%s个用户,分别是%s"%(users_count, users_list)  

  

#网卡,可以得到网卡属性,连接数,当前流量等信息  

net = psutil.net_io_counters()  

bytes_sent = '{0:.2f} kb'.format(net.bytes_recv / 1024)  

bytes_rcvd = '{0:.2f} kb'.format(net.bytes_sent / 1024)  

print u"网卡接收流量 %s 网卡发送流量 %s"%(bytes_rcvd, bytes_sent)  

  

#进程  进程的各种详细参数  

#磁盘 磁盘的使用量等等 

从这个简单的案例中可见psuti的强大,在window上也如此好用,做系统数据采集非常合适。
如果需要使用请详细参考官方文档。
gist上也有些代码片段可以参考https://gist.github.com/search?q=psutil
Python 相关文章推荐
python中如何使用正则表达式的集合字符示例
Oct 09 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
Python读取properties配置文件操作示例
Mar 29 Python
numpy中的高维数组转置实例
Apr 17 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
Python小游戏之300行代码实现俄罗斯方块
Jan 04 Python
python中如何使用分步式进程计算详解
Mar 22 Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 Python
Python Dataframe常见索引方式详解
May 27 Python
Python如何发送与接收大型数组
Aug 07 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
Python 可视化神器Plotly详解
Dec 26 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 #Python
Python标准库defaultdict模块使用示例
Apr 28 #Python
Python自动重试HTTP连接装饰器
Apr 28 #Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 #Python
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 #Python
Python合并多个装饰器小技巧
Apr 28 #Python
查看Python安装路径以及安装包路径小技巧
Apr 28 #Python
You might like
怎样在php中使用PDF文档功能
2006/10/09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
使用JavaScript实现旋转的彩圈特效
2015/06/23 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
使用PreloadJS加载图片资源的基础方法详解
2020/02/03 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
Python中统计函数运行耗时的方法
2015/05/05 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
pandas.cut具体使用总结
2019/06/24 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
打架检讨书2000字
2014/02/22 职场文书
商铺门前三包责任书
2014/07/25 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书