• Python自动化运维——系统性能信息模块


    Infi-chu:

    http://www.cnblogs.com/Infi-chu/

    模块:psutil

    psutil是一个跨平台库,可以很轻松的为我们实现获取系统运行的进程和资源利用率等信息。

    功能:主要是为了系统监控

    安装:

    wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate
    
    tar -zxvf psutil-2.0.0.tar.gz
    cd psutil-2.0.0
    python setup.py install
    

    CPU信息:

    CPU利用率主要包括以下几部分

    1. User time,执行用户进程的时间百分比
    2. System time,执行内核进程和中断的时间百分比
    3. Wait IO,由于IO等待而使CPU处于idle(空闲)状态的时间百分比
    4. Idle,CPU处于idle状态的时间百分比

    Psutil.cpu_times() 使用方法:

    #import psutil
    
    #psutil.cpu_times(percpu=True) # 使用cpu_times 方法获取CPU完整信息,需要显示所有逻辑CPU信息,percpu = True可选
    
    #psutil.cpu_times().user # 获取单项数据信息,如用户user 的CPU 时间比
    
    #psutil.cpu_count() # 获取CPU 的逻辑个数,默认logical=True
    
    #psytil.cpu_count(logical=False) # 获取CPU 的物理个数
    

    内存信息:

    内存信息主要包括以下几个部分:

    1. Total(内存总数)
    2. Used(已使用的内存数)
    3. Free(空闲内存数)
    4. Buffers(缓冲使用数)
    5. Cache(缓存使用数)
    6. Swap(交换分区使用数)

    Psutil.virtual_memory()和psutil.swap_memory() 使用方法:

    #import psutil
    
    #mem=psutil.virtual_memory() # 获取内存完整信息
    
    #print(mem)
    
    #mem.total # 获取内存总数
    
    #mem.free # 获取空闲内存数
    
    #psutil.swap_memory() # 获取swap分区信息
    

    磁盘信息:

    磁盘信息主要包括以下几个部分:

    1. Read_count(读IO数)
    2. Write_time(写IO数)
    3. Read_bytes(IO读字节数)
    4. Read_time(磁盘读时间)
    5. Write_time(磁盘写时间)

    Psutil.disk_io_counters() 使用方法:

    #import psutil
    
    #psutil.disk_partitions() # 获取磁盘完整信息
    
    #psutil.disk_usage('/') # 获取分区(参数) 使用情况
    
    #psutil.disk_io_counters() # 获取硬盘总的IO个数、读写信息
    
    #psutil.disk_io_counters(perdisk=True) # 'perdisk=True'参数获取单个分区IO个数、读写信息
    

    网络信息:

    网络信息主要包括以下几个部分:

    1. Bytes_sent(发送字节数)
    2. Bytes_recv(接收字节数)
    3. Packets_sent(发送数据包数)
    4. Packets_recv(接收数据包数)

    Psutil.net_io_counters() 使用方法:

    #import psutil
    
    #psutil.net_io_counters() # 获取网络总的IO信息,默认pernic=False
    
    #psutil.net_io_counters(pernic=True) # 输出每个网络接口的IO信息
    

    其他系统信息:

    #import psutil,datetime
    
    #psutil.users() # 返回当前登录系统的用户信息
    
    #psutil.boot_time() # 获取开机时间,以Linux时间戳格式返回
    
    #datetime.datetime.formtimestamp(psutil.boot_time()).strftime('%Y-%m-%d %H:%M:%S') # 转换成自然时间格式
    

      

  • 相关阅读:
    LayUI图片上传
    LayUI预设的正则
    SpringMVC
    避免IE执行AJAX时,返回JSON出现下载文件
    linux服务器无法显示tomcat详细错误信息
    User.java 实体类 带 数据库字段模板
    文字和图片放一起, 文字下沉的处理方法
    后台数据download成excel的方法(controller/action)
    table导出到excel的两种方法
    什么是脏读,不可重复读,幻读
  • 原文地址:https://www.cnblogs.com/Infi-chu/p/8007501.html
Copyright © 2020-2023  润新知