• 【Python】 系统配置/进程等信息查看 psutil


    psutil

      原以为psutil只是跟进程有关的一个模块,没想到它其实提供了从CPU到内存各种各样的信息,十分IMBA。记录一下

      我用了pip install psutil安装的这个模块,不过路中遇到了一个坑。原先的虚拟机环境中没有安装gcc所以编译.c文件失败。但是装上之后依然安装模块失败,后来去百度一下发现问题在于没有安装python-devel这个包。于是yum search了一下,安装了python-devel.x86_64这个包后成功安装。

    ■  进程信息查看

      第一次看到psutil就是用了模块下的Process构建的进程对象。

      首先是查看系统中目前的所有进程pid:

    print psutil.pids()

      返回一个列表,内容是当前所有进程的pid。在知道某个特定进程的pid之后,可以使用p = psutil.Process(pid)来得到一个进程对象。这个进程对象相比于subprocess.Popen给出的进程对象有更多的信息。如下:

    p.name()   #进程名
    p.exe()    #进程的bin路径
    p.cwd()    #进程的工作目录绝对路径
    p.status()   #进程状态
    p.create_time()  #进程创建时间
    p.uids()    #进程uid信息
    p.gids()    #进程的gid信息
    p.cpu_times()   #进程的cpu时间信息,包括user,system两个cpu信息
    p.cpu_affinity()  #get进程cpu亲和度,如果要设置cpu亲和度,将cpu号作为参考就好
    p.memory_percent()  #进程内存利用率
    p.memory_info()    #进程内存rss,vms信息
    p.io_counters()    #进程的IO信息,包括读写IO数字及参数
    p.connections()   #返回进程对象的列表
    p.num_threads()  #进程开启的线程数
    p.username()  #执行用户的名

      另外,psutil也封装了Popen方法,使得进程对象可以跟踪新开的进程。比如:

    from subprocess import PIPE
    p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"],stdout=PIPE)
    print p.name()
    print p.username()

    ■  获取其他方面的系统信息

      psutil.cpu_count()  返回cpu个数

      psutil.cpu_times()  返回cpu使用时间信息对象,包括用户时间,空转时间等等。这些信息都是属性,可以用.访问

      psutil.boot_time()  返回系统开机的时间

      psutil.users()  返回用户信息

      psutil.net_io_counters()  网卡属性,连接数,流量等信息

      psutil.virtual_memory()  系统内存信息

      psutil.swap_memory()  swap内存信息

      以上函数返回的都是一些对象,访问对象的属性可以进一步获得更精细的信息。

      

      

  • 相关阅读:
    Android 音视频开发(六): MediaCodec API 详解
    Android 音视频开发(五):使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
    Android 音视频开发(四):使用 Camera API 采集视频数据
    Android 音视频开发(三):使用 AudioTrack 播放PCM音频
    Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件
    Android 音视频开发(一) : 通过三种方式绘制图片
    Android 使用View绘制文字(DrawText)技术总结
    Mac OS 中安装 autoconf 和 automake
    Android 自定义 View 绘制
    关于 Socket 设置 setSoTimeout 误用的说明
  • 原文地址:https://www.cnblogs.com/franknihao/p/7160533.html
Copyright © 2020-2023  润新知