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 07 Python
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
Python中http请求方法库汇总
Jan 06 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
pycharm 关掉syntax检查操作
Jun 09 Python
python如何利用traceback获取详细的异常信息
Jun 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 date与gmdate的获取日期的区别
2010/02/08 PHP
Zend studio文件注释模板设置方法
2013/09/29 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
python rsa 加密解密
2017/03/20 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python 机器学习库 NumPy入门教程
2018/04/19 Python
Python实现多线程的两种方式分析
2018/08/29 Python
python plotly画柱状图代码实例
2019/12/13 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
2015年信息中心工作总结
2015/05/25 职场文书
篮球赛新闻稿
2015/07/17 职场文书
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python
Django框架模板用法详解
2022/06/10 Python
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS
MySQL数据库查询之多表查询总结
2022/08/05 MySQL