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获取远程图片大小和尺寸的方法
Mar 26 Python
在Python中处理时间之clock()方法的使用
May 22 Python
浅析Python中signal包的使用
Nov 13 Python
Python简单生成8位随机密码的方法
May 24 Python
python定向爬取淘宝商品价格
Feb 27 Python
深入浅析python with语句简介
Apr 11 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
pandas ix &iloc &loc的区别
Jan 10 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
使用Python操作MySQL的小技巧
Sep 10 Python
2021年最新用于图像处理的Python库总结
Jun 15 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
Yii框架登录流程分析
2014/12/03 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
如何判断php mysqli扩展类是否开启
2016/12/24 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
jQuery Ajax使用 全解析
2010/12/15 Javascript
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
jQuery中get方法用法分析
2016/12/07 Javascript
vue.js源代码core scedule.js学习笔记
2017/07/03 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
Python @property及getter setter原理详解
2020/03/31 Python
python实现粒子群算法
2020/10/15 Python
小班下学期评语
2014/05/04 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
如何把新闻人物写得立体、鲜活?
2019/08/14 职场文书
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
你真的会用Mysql的explain吗
2022/03/31 MySQL