设为首页 收藏本站
查看: 745|回复: 0

[经验分享] python psutil模块用法示例

[复制链接]
累计签到:1450 天
连续签到:1 天
发表于 2015-12-2 15:43:00 | 显示全部楼层 |阅读模式
  参考:http://www.jbxue.com/python/29871.htm
  
  1,获取系统性能信息
  1)cpu信息
  返回内容中关键字的列表中项的意义(自己的理解,详细解释参考此文章):
  
       
  • user  用户态使用的cpu时间   
  • system 系统态使用的cpu时间   
  • idle 空闲的cpu时间   
  • nice (UNIX) 用做nice(进程的优先级修正值)加权的进程分配的用户态cpu时间   
  • iowait (Linux) cpu等待磁盘写入完成时间   
  • irq (Linux, FreeBSD) 硬中断消耗时间   
  • softirq (Linux) 软中断消耗时间   
  • steal (Linux 2.6.11+) 虚拟机偷取时间   
  • guest (Linux 2.6.24+) 访客状态下使用的cpu时间   
  • guest_nice (Linux 3.2.0+) 访客状态下做nice加权的进程分配的用户态cpu时间
  
  
  >>> print u"CPU 个数 %s"%psutil.cpu_count()  
CPU 个数 1      
>>> print u"物理CPU个数 %s"%psutil.cpu_count(logical=False)  
物理CPU个数 1      

>>> psutil.cpu_count(logical=True)
1
>>> psutil.cpu_times()
scputimes(user=541.82, nice=1.32, system=781.5, idle=11678.47, iowait=42.81, irq=3.14, softirq=3.56, steal=0.0, guest=0.0)
>>> psutil.cpu_percent()
1.1
>>> psutil.cpu_times_percent()
scputimes(user=0.5, nice=0.0, system=0.5, idle=98.6, iowait=0.2, irq=0.0, softirq=0.0, steal=0.0, guest=0.0)

  2)内存信息
  total, 内存总量
  used, 已使用的内存数
  free, 空闲内存数
  buffers, 缓冲区使用数
  swap, 交换分区使用数



>>> psutil.swap_memory()
sswap(total=3221221376L, used=0L, free=3221221376L, percent=0.0, sin=0, sout=0)
>>> psutil.virtual_memory()
svmem(total=1036587008L, available=697393152L, percent=32.7, used=877322240L, free=159264768L, active=243052544, inactive=459927552, buffers=44429312L, cached=493699072)
  3)磁盘信息
  磁盘利用率及IO信息
read_count,读IO数
write_count,写IO数
read_bytes,读IO字节数
write_count,写IO字节数
read_time,磁盘读时间
write_time,磁盘写时间



>>> psutil.disk_partitions()
[sdiskpart(device='/dev/sda3', mountpoint='/', fstype='ext4', opts='rw'), sdiskpart(device='/dev/sda1', mountpoint='/boot', fstype='ext4', opts='rw')]
>>> psutil.disk_usage('/')
sdiskusage(total=28090511360, used=3418284032, free=23238459392, percent=12.2)
>>> psutil.disk_usage('/boot')
sdiskusage(total=296236032, used=33723392, free=246784000, percent=11.4)
>>> psutil.disk_io_counters('perdisk=False/True')
{'sda2': sdiskio(read_count=328, write_count=0, read_bytes=1470464, write_bytes=0, read_time=281, write_time=0), 'sda3': sdiskio(read_count=12427, write_count=8975, read_bytes=392832000, write_bytes=192872448, read_time=95939, write_time=102753), 'sda1': sdiskio(read_count=500, write_count=3, read_bytes=2026496, write_bytes=9216, read_time=237, write_time=2)}

  
  4)网络信息
  bytes_sent,发送字节数
packets_sent,接收字节数
packets_sent,发送数据包数
packets_sent,接收数据包数



>>> psutil.net_io_counters(pernic=False/True)
snetio(bytes_sent=64530, bytes_recv=817240, packets_sent=887, packets_recv=2600, errin=0, errout=0, dropin=0, dropout=0)
  5)其他系统信息
  用户登录、开机时间



>>> psutil.users()
[suser(name='wst', terminal='tty1', host='localhost', started=1436421376.0), suser(name='wst', terminal='pts/0', host='localhost', started=1436427392.0), suser(name='wst', terminal='pts/1', host='localhost', started=1436429696.0)]
>>> psutil.boot_time()
1436421348.0
  2,系统进程管理方法
  1)进程信息
  2)popen类的使用



import psutil
from subprocess import PIPE
p = pstuil.Popen([‘/etc/init.d/mysqld’,’-c’,’start’],stdout=PIPE)
  通过psutil的Popen方法启动的应用程序,可以跟踪该程序运行的所有信息。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-146471-1-1.html 上篇帖子: Python web框架bottle的应用实例(static静态文件加载,Python不同模块间相互调用) 下篇帖子: Python Twisted 学习系列9(转载stulife最棒的Twisted入门教程)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表