Python運維開發之psutil庫的使用詳解

 更新時間:2018年10月18日 09:13:21   作者:BrownFly   我要評論

這篇文章主要介紹了Python運維開發之psutil庫的使用,psutil能夠輕松實現獲取系統運行的進程和系統利用率。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

介紹

psutil能夠輕松實現獲取系統運行的進程和系統利用率。

導入模塊

import psutils

獲取系統性能信息

CPU信息

使用cpu_times()方法獲取CPU的完整信息:

>>> psutil.cpu_times()

獲取單項數據,例如用戶user的CPU時間比:

>>> psutil.cpu_times().user

獲取CPU的個數:

>>> psutil.cpu_count() # 默認logical=True,獲取邏輯個數
>>> psutil.cpu_count(logical=False) # 獲取CPU的物理個數

內存信息

獲取物理內存總大小和已使用內存:

>>> mem = psutil.virtual_memory()
>>> mem   # 顯示所有的參數
>>> mem.total # 總內存
>>> mem.used  # 已使用內存
>>> mem.free  # 獲取空閑內存數 
>>> psutil.swap_memory() # 獲取SWAP分區信息

磁盤信息

獲取磁盤完整信息:

>>> psutil.disk_partitions()

獲取分區的使用情況:

>>> psutil.disk_usage('C:/') # 里面參數為所在磁盤分區

獲取硬盤總的IO個數:

>>> psutil.disk_io_counters()
>>> psutil.disk_io_counters(perdisk=True) # 獲取單個分區的IO個數

網絡信息

獲取網絡總的IO信息:

>>> psutil.net_io_counters()
>>> psutil.net_io_counters(pernic=True) # 輸出單個網絡接口的IO信息

其他系統信息

返回當前登錄系統的用戶信息:

>>> psutil.users()

獲取開機時間:

>>> psutil.boot_time() # 以Linux時間戳格式返回
# 如果想要轉換成自然時間格式:
>>> datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S")

進程管理

進程信息

列出所有進程PID

>>> psutil.pids()

實例化進程對象

>>> p = psutil.Process(716)
>>> p.name() # 進程名
>>> p.exe() # 進程bin路徑
>>> p.cwd() # 進程工作目錄的絕對路徑
>>> p.status() # 進程狀態
>>> p.create_time() # 進程創建時間
>>> p.uids() # 進程uid信息
>>> p.gids() # 進程gid信息
>>> p.cpu_times() # 進程CPU時間信息
>>> p.cpu_affinity() # get進程的親和度
>>> p.memory_percent() # 進程內存使用率
>>> p.num_threads() # 進程開啟的線程數

popen類的使用

popen類可以獲取用戶啟動的應用程序進程信息。

>>> p = putil.Popen(["/usr/bin/python","-c","print('Hello')"],stdout=subprocess.PIPE)
>>> p.name()
>>> p.username() # 創建進程的用戶
>>> p.communicate()
('hello\n',None)
>>> p.cpu_times() # 得到進程運行的CPU時間

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

辽宁35选7开奖结果