一名爬蟲工程師的運維入門之路:psutil學習筆記

  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. 安裝ios

    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)
  • 磁盤信息ionic

    # 獲取磁盤完整信息
    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())
  • 磁盤信息google

    # 獲取磁盤完整信息
    print(psutil.disk_io_counters())
    # 獲取分區(參數)的使用狀況
    print(psutil.disk_usage('/'))
  • 網絡信息操作系統

    # 獲取網絡總的IO信息
    print(psutil.net_io_counters())
    # 獲取每一個網絡接口的IO信息
    print(psutil.net_io_counters(pernic=True))
  • 其餘系統信息.net

    # 當前用戶信息
    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())     #進程開啓的線程數
相關文章
相關標籤/搜索