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

[经验分享] python-psutil模块

[复制链接]

尚未签到

发表于 2018-8-6 11:23:35 | 显示全部楼层 |阅读模式
  psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率信息。它主要应用于系统监控,分析和限制系统资源及进程管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat等。。通常我们获取操作系统信息往往采用编写shell来实现,比如获取物理内存总大小以及已经使用大小,shell命令如下:
DSC0000.jpg

  看看使用python的psutil模块如何实现
DSC0001.jpg

  8bit(位)=1Byte(字节)
  1024Byte(字节)=1KB
  1024KB=1MB
  1024MB=1GB
  1024GB=1TB
  获取系统性能信息
  采集系统的基本性能信息包括CPU、内存、磁盘、网络等,可以完整描述当前系统的运行状态及质量。
  1、采集CPU信息
  可以使用psutil.cpu_times()方法可以非常简单的得到这些信息,同时也可以获取CPU的硬件相关信息,比如CPU的物理个数与逻辑个数,例如:
DSC0002.jpg

  2、采集内存信息
  Linux系统的内存利用率信息涉及total(内存总数)、used(已使用的内存数)、free(空闲内存数)、buffer(缓冲使用数)、cache(缓存使用数)、swap(交换分区使用数)等,分别可以使用psutil.virtual_memory()与psutil.swap_memory()方法获取信息,例如:
DSC0003.jpg

  3、采集磁盘信息
  在系统的所有磁盘信息中,我们比较关注的是磁盘的利用率和IO信息,其中磁盘利用率用psutil.disk_usage方法获取。磁盘IO信息包括read_count(读IO数)、write_count(写IO数)、read_bytes(IO读字节数)、write_bytes(IO写字节数)、read_time(磁盘读时间)、write_time(磁盘写时间)等,这些信息可以通过psutil.disk_io_counters()获取。
DSC0004.jpg

  4、网络信息
  系统的网络信息与磁盘IO类似,涉及几个关键点,包括bytes_sent(发送字节数)、bytes_recv(接收字节数)、packets_sent(发送数据包数)、packets_recv(接收数据包数)等。这些网络信息使用psutil.net_io_counters()方法获取。
DSC0005.jpg

  5、获取用户登录、开机时间等信息
DSC0006.jpg

  6、系统进程的管理方法
  获得当前系统的进程信息,可以让我们得知应用程序的运行状态,包括进程的启动时间、查看或设置CPU亲和度、内存使用率、IO信息、socket连接、线程数,这些信息可以呈现出指定进程是否存活、资源利用情况。
DSC0007.jpg

DSC0008.jpg

  7、popen类的使用
  psutil提供的popen类的作用是获取用户启动的应用程序进程信息,以便追踪程序进程的运行状态。
DSC0009.jpg

运维网声明 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.iyunv.com/thread-547563-1-1.html 上篇帖子: Python14 函数 下篇帖子: Python列表的操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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