• python 获取cpu、内存、硬盘等实时信息 psutil


    psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等.支持32位,和64位的Linux,Windows,OS X,FreeBSD等操作系统。

     1 1 cpu信息
     2 #Linux系统cpu利用率有以下几个部分
     3 #User Time,执行用户进程的时间百分比
     4 #System Time,执行内核进程和中断的时间百分比
     5 #Wait IO,由于IO等待使cpu处于idle(空闲)状态的时间百分比
     6 #Idle,cpu处于空闲状态的时间百分比
     7  
     8 import psutil
     9 #获取cpu完成信息
    10 print psutil.cpu_times()
    11 >>> scputimes(user=29.36, nice=0.0, system=26.59, idle=9619.35, iowait=64.78, irq=0.5, softirq=1.67, steal=0.0, guest=0.0)
    12 
    13 print type(psutil.cpu_times())
    14 >>> <class 'psutil._pslinux.scputimes'>
    15 # user () 从系统启动开始累计到当前时刻,用户态的CPU时间,不包含 nice值为负进程。
    16 # nice () 从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间
    17 # system () 从系统启动开始累计到当前时刻,核心时间
    18 # idle () 从系统启动开始累计到当前时刻,除IO等待时间以外其它等待时间
    19 # iowait () 从系统启动开始累计到当前时刻,IO等待时间
    20 # irq () 从系统启动开始累计到当前时刻,硬中断时间
    21 # softirq () 从系统启动开始累计到当前时刻,软中断时间
    22 
    23 # CPU使用率计算
    24 CPU在t1到t2时间段总的使用时间 = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2) - ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1)
    25 CPU在t1到t2时间段空闲使用时间 = (idle2 - idle1)
    26 CPU在t1到t2时间段即时利用率 =  1 - CPU空闲使用时间 / CPU总的使用时间
    27 
    28 # 
    29 print psutil.cpu_percent(interval=20,percpu=False)
    30 >>> 3.7
    31 interval:代表时间(秒),在这段时间内的cpu使用率
    32 percpu:选择总的使用率还是每个cpu的使用率。False为总体,True为单个,返回列表
    33 
    34 #获取cpu逻辑个数
    35 print psutil.cpu_count()
    36 >>> 56
    37 # 计算方式:单个cpu核数*cpu个数*2(cpu cores 这个规格值,如果支持并开启ht)
    38 # ht:intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
    39 
    40 
    41 #获取cpu物理个数
    42 psutil.cpu_count(logical=False)
    43 >>> 28
    44 # 计算方式:单个cpu核数*cpu个数
  • 相关阅读:
    Aix_bugzilla
    aix Mysql安装 Oracle官方教程
    Aix6.1安装openssh
    日媒:阿里巴巴上市融资或超Facebook
    设计模式(一)---单例模式
    Handler具体解释系列(七)——Activity.runOnUiThread()方法具体解释
    TCP/IP协议族——IP工作原理及实例具体解释(上)
    leetCode 41.First Missing Positive (第一个丢失的正数) 解题思路和方法
    Material Design之RecyclerView的使用(一)
    jQuery和CSS3超酷表单美化插件
  • 原文地址:https://www.cnblogs.com/Missowalker/p/7921888.html
Copyright © 2020-2023  润新知