您的位置:首页 > 编程语言 > Python开发

[Python监控]psutil模块简单使用

2014-12-12 11:13 585 查看
安装很简单

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

本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41891447
作者orangleliu 采用署名-非商业性使用-相同方式共享协议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息