Python運維之psutil模塊

最近開始學習Python自動化運維,特記下筆記。
學習中使用的系統是Kali Linux2017.2,Python版本爲2.7.14+
因爲在KALI裏面沒有自帶psutil模塊,需要使用pip進行安裝
Python運維之psutil模塊
安裝完成後進入python交互模式
查看psutil 的幫助信息,可以發現psutil支持跨平臺的環境,同時也支持python3
Python運維之psutil模塊
獲取CPU信息

使用cpu_times獲取CPU信息,用戶/系統/空閒時間
Python運維之psutil模塊
也可以獲取單條信息
Python運維之psutil模塊
如果需要獲取所有CPU核心的信息需要加一個參數percpu=True
Python運維之psutil模塊
獲取CPU核心個數,方法爲cpu_count()
Python運維之psutil模塊
如果只要獲取CPU物理核心的數量需要加一個參數,logical=False 注:logical默認爲True
Python運維之psutil模塊
獲取內存信息

內存信息可以使用virtual_memory()和swap_memory()方法進行獲取 注:單位爲字節
Python運維之psutil模塊
只獲取內存總數
Python運維之psutil模塊
只獲取空閒總數
Python運維之psutil模塊
獲取swap分區信息,使用swap_memory()方法進行獲取
Python運維之psutil模塊
獲取磁盤信息

獲取磁盤分區信息可以使用disk_partitions()方法獲取
Python運維之psutil模塊
可以使用disk_usage()方法獲取分區的使用情況
Python運維之psutil模塊
獲取硬盤IO信息可以使用disk_io_counters()方法獲取
Python運維之psutil模塊
如果要獲取單個分區的IO數等情況,需要在disk_io_counters()下加一個參數,perdisk=True
Python運維之psutil模塊
獲取網絡信息

獲取網卡的總IO等信息可以使用net_io_counters()方法
Python運維之psutil模塊
如果需要輸出每一個網卡的IO數需要加一個參數pernic=True
Python運維之psutil模塊
也可以獲取網卡IO的單個信息
Python運維之psutil模塊
獲取其他的一些系統信息

返回當前登錄系統的用戶信息 ,users()方法 注:started返回的爲Linux時間戳
Python運維之psutil模塊
獲取開機時間,同樣使用Linux時間戳來返回,使用boot_time()方法
Python運維之psutil模塊
系統進程管理

獲取所有進程PID,使用pids()方法
Python運維之psutil模塊
可以使用Process()方法獲取單個進程的信息,先要實例化一個對象,參數爲pid值,例:pid爲960
Python運維之psutil模塊
獲取實例化的進程名,name()方法
Python運維之psutil模塊
獲取進程bin路徑,exe()方法
Python運維之psutil模塊
獲取進程工作絕對路徑目錄,cwd()方法
Python運維之psutil模塊
獲取進程狀態,status()方法
Python運維之psutil模塊
獲取進程創建時間,create_time()方法 注:時間爲Linux時間戳
Python運維之psutil模塊
獲取進程uid與gid信息,uids()與gids()方法
Python運維之psutil模塊
獲取進程cpu時間信息,cpu_times()方法
Python運維之psutil模塊
獲取進程與CPU的親和度,cpu_affinity()方法,可以將CPU號作爲參數來設置進程CPU親和性
Python運維之psutil模塊
獲取進程內存使用率,memory_percent()方法,單位爲百分比
Python運維之psutil模塊
獲取進程IO信息,io_counters()方法
Python運維之psutil模塊
獲取進程內存rss、vms等信息,memory_info()方法
Python運維之psutil模塊
獲取進程開啓的線程數,num_threads()方法
Python運維之psutil模塊
獲取進程的線程信息,threads()方法
Python運維之psutil模塊
Popen類的使用

Popen類可以獲取用戶啓動應用程序的情況,以便跟蹤程序的運行狀態 例:跟蹤python的運行情況
Python運維之psutil模塊
name()方法獲取進程名,username()方法獲取啓動用戶,cpu_times()方法獲取進程運行的CPU時間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章