用python开发的运维管理系统_python运维开发常用模块(一)psutil

本文介绍了Python的psutil库,这是一个跨平台的库,用于获取系统运行的进程和系统利用率信息,如CPU、内存、磁盘和网络等。通过示例展示了如何使用psutil获取CPU时间、内存信息、磁盘使用情况和网络IO统计,便于进行系统监控和资源管理。
摘要由CSDN通过智能技术生成

1.模块简介

psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻 松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网 络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管 理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、 ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、 pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、 Windows、OS X、FreeBSD和Sun Solaris等操作系统,支持从2.4到3.4的 Python版本,目前最新版本为2.0.0。

通常我们获取操作系统信息往往采 用编写shell来实现,如获取当前物理内存总大小及已使用大小,shell命 令如下:

1215197-20190502080630793-1213048919.png

相比较而言,使用psutil库实现则更加简单明了。psutil大小单位一 般都采用字节,如下:

1215197-20190502080720244-132470432.png

2.获取系统性能信息

采集系统的基本性能信息包括CPU、内存、磁盘、网络等,可以 完整描述当前系统的运行状态及质量。psutil模块已经封装了这些方法, 用户可以根据自身的应用场景,调用相应的方法来满足需求,非常简单 实用。

(1)CPU信息 Linux操作系统的CPU利用率有以下几个部分: ·

User Time,执行用户进程的时间百分比; ·

System Time,执行内核进程和中断的时间百分比; ·

Wait IO,由于IO等待而使CPU处于idle(空闲)状态的时间百分 比; ·

Idle,CPU处于idle状态的时间百分比。

我们使用Python的psutil.cpu_times()方法可以非常简单地得到这 些信息,同时也可以获取CPU的硬件相关信息,比如CPU的物理个数与 逻辑个数,具体见下面的操作例子:

获取全部cpu信息

>>>psutil.cpu_times()

scputimes(user=55.56, nice=0.0, system=28.83, idle=2811.87, iowait=71.64, irq=0.0, softirq=0.4, steal=0.0, guest=0.0, guest_nice=0.0)

获取cpu某个指标的cpu 信息

>>>psutil.cpu_times().user #cpu用户时间百分比57.08

>>>psutil.cpu_count() #逻辑cpu的数量1

>>> psutil.cpu_count(logical=False) #物理cpu的数量1

(2)内存信息

Linux系统的内存利用率信息涉及total(内存总数)、used(已使 用的内存数)、free(空闲内存数)、buffers(缓冲使用数)、 cache(缓存使用数)、swap(交换分区使用数)等,分别使用 psutil.virtual_memory()与psutil.swap_memory()方法获取这些信 息,具体见下面的操作例子:

获取全部内存信息

>>> mem=psutil.virtual_memory()>>>mem

svmem(total=1928081408, available=1635614720, percent=15.2, used=117481472, free=1023430656, active=433111040, inactive=346320896, buffers=55558144, cached=731611136, sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值