• psutil模块


    psutil

    能够轻松实现获取系统运行的进程和系统利用率

    安装、导入模块

    pip install psutil  # 安装
    import psutils  # 导入
    

    获取系统性能信息

    CPU信息

    1.使用cpu_times()方法获取CPU的完整信息:

    psutil.cpu_times()
    ---------------------------------------------------------------------------------------
    scputimes(user=15606.75, system=14908.984374999942, idle=323725.765625, interrupt=685.906
    25, dpc=571.21875)
    

    2.获取单项数据,例如用户user的CPU时间比:

    psutil.cpu_times().user
    

    3.获取CPU的个数:

    psutil.cpu_count()  # 默认logical=True,获取逻辑个数
    psutil.cpu_count(logical=False)  # 获取CPU的物理个数
    

    内存信息

    获取物理内存总大小和已使用内存:

    mem = psutil.virtual_memory()
    mem   # 显示所有的参数,svmem(total=8494747648, available=3692544000, percent=56.5, used=4802203648, free=3692544000)
    mem.total # 总内存
    mem.used  # 已使用内存
    m.free  # 获取空闲内存数 
    psutil.swap_memory() # 获取SWAP分区信息,sswap(total=12118626304, used=8851152896, free=3267473408, percent=73.0, sin=0, sout=0)
    

    磁盘信息

    磁盘IO信息包括read_count(读IO数),write_count(写IO数),read_bytes(IO写字节数),read_time(磁盘读时间),write_time(磁盘写时间)

    1.获取磁盘完整信息:

     psutil.disk_partitions()
    

    2.获取分区的使用情况:

     psutil.disk_usage('C:/') # 里面参数为所在磁盘分区,获取分区表信息,sdiskusage(total=129393225728, used=82884608000, free=46508617728, percent=64.1)
    

    3.获取硬盘总的IO个数:

     psutil.disk_io_counters()  # 获取磁盘IO总个数,sdiskio(read_count=577776, write_count=479420, read_bytes=18559246848, write_bytes=12466834944, read_time=506, write_time=517)
     psutil.disk_io_counters(perdisk=True) # 获取单个分区的IO个数 
    

    网络信息

    网络信息与磁盘IO信息类似,包括byes_sent(发送字节数),byte_recv=xx(接受字节数),pack-ets_sent=xx(发送字节数),pack-ets_recv=xx(接收数据包数)

    获取网络总的IO信息:

     psutil.net_io_counters()
     psutil.net_io_counters(pernic=True) # 输出单个网络接口的IO信息 
    

    其他系统信息

    1.返回当前登录系统的用户信息:

     psutil.users()
    

    2.获取开机时间:

     psutil.boot_time() # 以Linux时间戳格式返回
    # 如果想要转换成自然时间格式:
     datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")
    

    进程管理

    进程信息

    获取当前应用程序的运行状态,包括进程的启动时间,查看设置CPU亲和度,内存使用率,IO信息,socket连接,线程数等

    1.列出所有进程PID

     psutil.pids()
    

    2.获取单个进程的名字,路径状态

     p = psutil.Process(716)
     p.name() # 进程名
     p.exe() # 进程bin路径
     p.cwd() # 进程工作目录的绝对路径
     p.status() # 进程状态
     p.create_time() # 进程创建时间
     p.uids() # 进程uid信息
     p.gids() # 进程gid信息
     p.cpu_times() # 进程CPU时间信息
     p.cpu_affinity() # get进程的亲和度
     p.memory_percent() # 进程内存使用率
     p.memory_info()    #进程内存rss,vms信息
     p.io_counters()    #进程的IO信息,包括读写IO数字及参数
     p.connections()   #返回进程列表
     p.num_threads() # 进程开启的线程数
    

    popen类的使用

    popen类可以获取用户启动的应用程序进程信息。

     p = putil.Popen(["/usr/bin/python","-c","print('Hello')"],stdout=subprocess.PIPE)
     p.name()
     p.username() # 创建进程的用户
     p.communicate()
    ('hellon',None)
     p.cpu_times() # 得到进程运行的CPU时间
    
  • 相关阅读:
    Unity --- sharedMaterial 、material
    lua --- Module
    lua --- 点号 和 冒号
    lua --- __newindex 的使用规则
    DirectX之顶点法线的计算
    DirectX学习之第一个可运行的工程
    java--select*
    java--Servlet做控制器实现代码和UI分离
    java--JSTL取代%
    java--entity层的引入
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11385614.html
Copyright © 2020-2023  润新知