<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 電腦安全 > 局域網安全 > 局域網python封裝linux監控模塊

        局域網python封裝linux監控模塊

        時間: 林澤1002 分享

        局域網python封裝linux監控模塊

          psutil是一個跨平臺庫,能夠輕松實現獲取系統運行的進程、系統利用率、CPU信息、內存信息、磁盤信息、網絡信息。下面是學習啦小編收集整理的局域網python封裝linux監控模塊,希望對大家有幫助~~

          局域網python封裝linux監控模塊

          一、簡介

          psutil是一個跨平臺庫,能夠輕松實現獲取系統運行的進程、系統利用率、CPU信息、內存信息、磁盤信息、網絡信息。它主要應用于系統監控,分析和限制系統資源及進程管理。以下是小編實現的網頁版效果。

          二、安裝步驟

          1.開發環境:centos 7

          2.開發語言:python 2.7.5

          3.依賴軟件

          (1).安裝setuptools

          下載地址:https://pypi.python.org/pypi/setuptools

          #wget https://pypi.python.org/packages/xxx/setuptools-xxx.tar.gz

          #tar xf setuptools-xxx.tar.gz

          #cd setuptools-xxx

          #python setup.py install

          (2).安裝pip

          下載地址:https://pypi.python.org/pypi/pip

          #wget https://pypi.python.org/packages/xxx/pip-xxx.tar.gz

          #tar xf pip-xxx.tar.gz

          #cd pip-xxx

          #python setup.py install

          (3).安裝psutil

          #pip install psutil

          4.封裝CPU信息

          info = psutil.cpu_times()

          res = dict(

          user=info.user, # 執行用戶進程的時間百分比

          system=info.system, # 執行內核進程和中斷的時間百分比

          iowait=info.iowait, # 由于IO等待而使CPU處于idle(空閑)狀態的時間百分比

          idle=info.idle, # CPU處于idle狀態的時間百分比

          cpucount1=psutil.cpu_count(), # 獲取CPU的邏輯個數

          cpucount2=psutil.cpu_count(logical=False) # 獲取CPU的物理個數

          )

          5.封裝內存信息

          meminfo = psutil.virtual_memory()

          swapinfo = psutil.swap_memory()

          res = dict(

          mem=dict(

          total=round(meminfo.total / (1024 ** 3), 2), # 內存總數

          available=round(meminfo.available / (1024 ** 3), 2), # 可用內存數

          percent=meminfo.percent,

          used=round(meminfo.used / (1024 ** 3), 2), # 已使用的內存數

          free=round(meminfo.free / (1024 ** 3), 2), # 空閑內存數

          active=round(meminfo.active / (1024 ** 3), 2), # 活躍內存數

          inactive=round(meminfo.inactive / (1024 ** 3), 2), # 不活躍內存數

          buffers=round(meminfo.buffers / (1024 ** 3), 2), # 緩沖使用數

          cached=round(meminfo.cached / (1024 ** 3), 2), # 緩存使用數

          shared=round(meminfo.shared / (1024 ** 3), 2) # 共享內存數

          ),

          swap=dict(

          total=round(swapinfo.total / (1024 ** 3), 2), # 交換分區總數

          used=round(swapinfo.used / (1024 ** 3), 2), # 已使用的交換分區數

          free=round(swapinfo.free / (1024 ** 3), 2), # 空閑交換分區數

          percent=swapinfo.percent,

          sin=round(swapinfo.sin / (1024 ** 3), 2), # 輸入數

          sout=round(swapinfo.sout / (1024 ** 3), 2) # 輸出數

          )

          )

          6.封裝磁盤信息

          partinfo = psutil.disk_usage("/") #獲取磁盤完整信息

          diskinfo = dict(

          free=round(partinfo.free / (1024 ** 3), 2), #磁盤剩余量

          used=round(partinfo.used / (1024 ** 3), 2),#磁盤使用量

          total=round(partinfo.total / (1024 ** 3), 2),#磁盤總量

          )

          7.封裝網絡信息

          allnetio = psutil.net_io_counters() # 獲取網絡總的IO信息

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

          res = dict(

          allnetio=dict(

          bytes_sent=allnetio.bytes_sent, # 發送字節數

          bytes_recv=allnetio.bytes_recv, # 接受字節數

          packets_sent=allnetio.packets_sent, # 發送數據包數

          packets_recv=allnetio.packets_recv, # 接受數據包數

          errin=allnetio.errin,

          errout=allnetio.errout,

          dropin=allnetio.dropin,

          dropout=allnetio.dropout

          ),

          onenetio=[

          dict(

          name=v[0],

          bytes_sent=v[1].bytes_sent, # 發送字節數

          bytes_recv=v[1].bytes_recv, # 接受字節數

          packets_sent=v[1].packets_sent, # 發送數據包數

          packets_recv=v[1].packets_recv, # 接受數據包數

          errin=v[1].errin,

          errout=v[1].errout,

          dropin=v[1].dropin,

          dropout=v[1].dropout

          )

          for v in onenetio.iteritems()

          ]

          )

          8.用戶信息

          usersinfo = psutil.users() # 當前登錄系統的用戶信息

          res = dict(

          usersinfo=[

          dict(

          name=v.name, # 當前登錄用戶名

          terminal=v.terminal, # 打開終端

          host=v.host, # 登錄IP地址

          started=datetime.datetime.fromtimestamp(v.started).strftime("%Y-%m-%d %H:%M:%S") # 登錄時間

          )

          for v in usersinfo

          ],

          boottime=datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S") # 開機時間

          )

          9.進程信息

          pidsinfo = psutil.pids() # 列出所有進程pid

          pinfo = map(lambda v: psutil.Process(v), pidsinfo) # 實例化進程狀態

          res = dict(

          pinfo=[

          dict(

          pid=v[0], # 進程pid

          name=v[1].name(), # 進程名稱

          exe=v[1].exe(), # 進程bin路徑

          cwd=v[1].cwd(), # 進程工作目錄絕對路徑

          status=v[1].status(), # 進程狀態

          create_time=datetime.datetime.fromtimestamp(v[1].create_time()).strftime("%Y-%m-%d %H:%M:%S"),

          # 進程創建時間

          uids=dict(

          real=v[1].uids().real,

          effective=v[1].uids().effective,

          saved=v[1].uids().saved,

          ), # 進程uid信息

          gids=dict(

          real=v[1].gids().real,

          effective=v[1].gids().effective,

          saved=v[1].gids().saved,

          ), # 進程gid信息

          cpu_times=dict(

          user=v[1].cpu_times().user, # 用戶cpu時間

          system=v[1].cpu_times().system, # 系統cpu時間

          ), # 進程cpu時間

          cpu_affinity=v[1].cpu_affinity(), # 進程cpu親和度

          memory_percent=round(v[1].memory_percent(), 2), # 進程內存利用率

          memory_info=dict(

          rss=v[1].memory_info().rss, # 進程內存rss信息

          vms=v[1].memory_info().vms # 進程內存vms信息

          ), # 進程內存信息

          io_counters=dict(

          read_count=v[1].io_counters().read_count, # 讀IO數

          write_count=v[1].io_counters().write_count, # 寫IO數

          read_bytes=v[1].io_counters().read_bytes, # IO讀字節數

          write_bytes=v[1].io_counters().write_bytes, # IO寫字節數

          ), # 進程IO信息

          num_threads=v[1].num_threads(), # 進程開啟的線程數

          # connections = v[1].connections()#打開進程socket的namedutples列表

          )

          for v in zip(pidsinfo, pinfo)

          ]

          )

          res["pinfo"] = sorted(res["pinfo"], key=lambda v: v["memory_percent"], reverse=True)


        局域網python相關文章:

        1.局域網python快速上手

        2.怎么搭建局域網YUM服務器

        3.局域網怎么搭建YUM服務器

        4.網絡管理員無工作經驗簡歷怎么寫

        5.遠程操作Mysql數據庫

        2900375 主站蜘蛛池模板: 久久久亚洲欧洲日产国码农村| 国产美女被遭强高潮免费一视频| 精品亚洲欧美无人区乱码| 国精产品一区一区三区免费视频| 激情五月天自拍偷拍视频| 久久综合亚洲色一区二区三区| 国产精品原创不卡在线| 国产一卡2卡3卡4卡网站精品| 亚洲欧美一区二区三区在线 | 亚洲欧洲日韩综合色天使| 激情综合色综合啪啪开心| 日韩在线视精品在亚洲| 浴室人妻的情欲hd三级国产| 午夜精品一区二区三区在线观看| 性色av无码无在线观看| 国产久免费热视频在线观看| 黄色特级片一区二区三区| 97久久综合亚洲色hezyo| 武装少女在线观看高清完整版免费 | 欧美不卡无线在线一二三区观| 国产露脸150部国语对白| 日韩高清不卡一区二区三区| 欧美xxxxhd高清| 熟女人妻精品一区二区视频| 国产成人无码午夜视频在线播放| 男女真人国产牲交a做片野外| 青青草无码免费一二三区| 波多野结衣亚洲一区| 老太脱裤子让老头玩xxxxx| 亚洲色中色| 亚洲偷自拍另类一区二区| 亚洲中文字幕97久久精品少妇| 久久99热成人精品国产| 女人高潮被爽到呻吟在线观看 | 亚洲av永久无码精品成人| 久久永久视频| 自偷自拍亚洲综合精品| 永久黄网站色视频免费直播| 国产高清在线不卡一区| 国模av在线| 国产一区二区不卡在线看|