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标准库os.path包、glob包使用实例
Nov 25 Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 Python
Python with语句上下文管理器两种实现方法分析
Feb 09 Python
Python字典的核心底层原理讲解
Jan 24 Python
Python变量类型知识点总结
Feb 18 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
Mar 10 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 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
PHP4实际应用经验篇(6)
2006/10/09 PHP
一个简洁的多级别论坛
2006/10/09 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
js 调整select 位置的函数
2008/02/21 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
Vue项目中使用Vux的安装过程
2018/05/01 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
基于layui实现高级搜索(筛选)功能
2019/07/26 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
python中range()与xrange()用法分析
2016/09/21 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
python邮件发送smtplib使用详解
2020/06/16 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
园长自我鉴定
2013/10/06 职场文书
党支部书记岗位责任制
2014/02/11 职场文书
幼儿园中班开学寄语
2014/04/03 职场文书
大学学生会竞选演讲稿
2014/04/25 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
唐山大地震观后感
2015/06/05 职场文书