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 相关文章推荐
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 Python
Django使用Mysql数据库已经存在的数据表方法
May 27 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
python3 pygame实现接小球游戏
May 14 Python
详解python调用cmd命令三种方法
Jul 08 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
May 18 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
May 26 Python
Django多数据库联用实现方法解析
Nov 12 Python
pymongo insert_many 批量插入的实例
Dec 05 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如何防止用户重复提交表单
2020/12/09 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
js网页版计算器的简单实现
2013/07/02 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
vue+element实现动态加载表单
2020/12/13 Vue.js
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
2020/11/30 HTML / CSS
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
临床医学大学生求职信
2013/09/28 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
原料仓管员岗位职责
2015/04/01 职场文书