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中的一些类型转换函数小结
Feb 10 Python
Python是编译运行的验证方法
Jan 30 Python
Python中decorator使用实例
Apr 14 Python
wxpython中Textctrl回车事件无效的解决方法
Jul 21 Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
python批量将excel内容进行翻译写入功能
Oct 10 Python
Python实现密码薄文件读写操作
Dec 16 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
Jun 18 Python
python利用faker库批量生成测试数据
Oct 15 Python
python模拟点击在ios中实现的实例讲解
Nov 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读取IMAP邮件
2006/10/09 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
php基本函数汇总
2015/07/09 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
2012/02/16 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
异步javascript的原理和实现技巧介绍
2012/11/08 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
python实现静态服务器
2019/09/05 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
python语言time库和datetime库基本使用详解
2020/12/25 Python
法制报告会主持词
2014/04/02 职场文书
小学二年级学生评语
2014/04/21 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
党校学习个人总结
2015/02/15 职场文书
通知书大全
2015/04/27 职场文书
大学感恩节活动总结
2015/05/05 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP