python學習-psuti模組

來源:互聯網
上載者:User

標籤:psutil

psutil(進程和系統公用程式)是一個跨平台的庫,用於 在Python中檢索有關 運行進程系統利用率(CPU,記憶體,磁碟,網路,感應器)的資訊。它主要用於 系統監視分析和限制流程資源以及 運行流程的管理。它實現了UNIX命令列工具提供的許多功能,例如:ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。psutil目前支援以下平台:

  • Linux的

  • 視窗

  • OSX

  • FreeBSD,OpenBSDNetBSD

  • Sun Solaris

  • AIX

... 32位64位體繫結構,Python版本從2.6到3.6

  1. 1、擷取系統效能資訊

#! /env python3#coding=utf-8import psutil''''擷取cpu資訊'''a = psutil.cpu_times() #使用cpu_times方法擷取cpu完成資訊,需要顯示所有的cpu資訊b = psutil.cpu_times().user #擷取單項cpu的資料資訊,如使用者user的cpu時間比c = psutil.cpu_count() #擷取cpu的邏輯個數print (a)print (b)print (c)'''記憶體資訊'''mem = psutil.virtual_memory()   #使用pstuil.virtual_memory方法擷取記憶體的完整資訊mem_total = psutil.virtual_memory().total #擷取記憶體總數mem_free = psutil.virtual_memory().free  #擷取記憶體剩餘print (mem)print (mem_total)print (mem_free)'''磁碟資訊'''disk_partitions = psutil.disk_partitions()   #擷取磁碟完整資訊disk_usage = psutil.disk_usage('/')   #擷取整個硬碟的資訊disk_usage_c = psutil.disk_usage('C://') #擷取分區c的硬碟資訊disk_io = psutil.disk_io_counters() #擷取硬碟的總io個數、讀寫資訊disk_io_perdisk = psutil.disk_io_counters(perdisk=True) #‘perdisk=True’參數擷取單個分區IO個數、讀寫資訊print (disk_partitions)print (disk_usage)print (disk_usage_c)print ('硬碟總io=' +str(disk_io))print ('單個分區資訊='+str(disk_io_perdisk))'''網路資訊'''net_io = psutil.net_io_counters()   #擷取網路總IO資訊、預設pernic=Falsenet_io_pernic = psutil.net_io_counters(pernic=True) #擷取每個網卡的io資訊net_connections = psutil.net_connections()#擷取所有的串連資訊print (net_io)print (net_io_pernic)print (net_connections)'''其他系統資訊'''users = psutil.users()      #當前登入系統的使用者資訊import datetimeboot_time = psutil.boot_time() #擷取開機時間,為linux格式boot_time_nu = datetime.datetime.fromtimestamp(psutil.boot_time()).strftime('%Y-%m-%d%H:%M:%S') #轉換為自然格式print (users)print (boot_time)print (boot_time_nu)
  1. 2、系統進程管理

  2. #! /env python3#coding=utf-8import psutil'''進程資訊'''pids = psutil.pids() #列出所有進程idpids_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())     #進程開啟的線程數'''popen類的使用'''import psutilfrom subprocess import PIPE   #通過psutil的popen方法啟動的應用程式,可以跟蹤該程式的所有相關資訊


python學習-psuti模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.