1
  1. psutil简介
    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统,
  2. 安装

    pip install psutil
  3. 使用
  • cpu信息

    # 显示cpu所有逻辑信息
    b = psutil.cpu_times()
    # 查看用户的cpu时间比
    c = psutil.cpu_times().user
    # 查看cpu物理个数
    d = psutil.cpu_count(logical=False)
    print(b, c, d)
    
  • 磁盘信息

    # 获取磁盘完整信息
    print(psutil.disk_io_counters())
    # 获取分区(参数)的使用情况
    print(psutil.disk_usage('/'))```
    
  • 内存信息

    # 系统内存的所有信息
    a = psutil.virtual_memory()
    print(a)
    # 系统总计内存
    print(a.total)
    # 系统已经使用内存
    print(a.used)
    # 系统空闲内存
    print(a.free)
    # 获取swap内存信息
    print(psutil.swap_memory())
  • 磁盘信息

    # 获取磁盘完整信息
    print(psutil.disk_io_counters())
    # 获取分区(参数)的使用情况
    print(psutil.disk_usage('/'))
  • 网络信息

    # 获取网络总的IO信息
    print(psutil.net_io_counters())
    # 获取每个网络接口的IO信息
    print(psutil.net_io_counters(pernic=True))
  • 其他系统信息

    # 当前用户信息
    print(psutil.users())
    # 获取开机
    import datetime
    print(psutil.boot_time())
    print(datetime.datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%d %H:%M:%S'))
    
  • 进程信息

    pids = psutil.pids() #列出所有进程id
    pids_4644= psutil.Process(4644) #列出指定pid为4644的进程信息
    print (pids)
    print (pids_4644.name())    #输出进程名
    print (pids_4644.exe())     #输出进程路径
    print (pids_4644.cwd())     #输出绝对路径
    print (pids_4644.status())  #输出进程状态
    print (pids_4644.create_time()) #输出创建时间、时间戳格式
    #print (pids_4644.gid())        #输出进程gid信息
    print (pids_4644.cpu_times)     #输出cpu时间信息,包括user,system两个cpu时间
    print (pids_4644.cpu_affinity()) #get进程cpu亲和度
    print (pids_4644.memory_percent()) #进程利用率
    print (pids_4644.memory_info)    #进程内存信息
    print (pids_4644.io_counters())  #进程io信息,包括读写IO数及字节数
    print (pids_4644.connections())      #返回打开进程sockert的namedutples列表、包括fs,family等信息
    print (pids_4644.num_threads())     #进程开启的线程数

zzZ摇篮曲
28 声望2 粉丝

程序猿?菜鸟?我们不只是spider!!!