欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)監(jiān)控linux性能及進(jìn)程消耗性能的方法

 更新時(shí)間:2014年07月25日 09:22:08   投稿:shichen2014  
這篇文章主要介紹了python實(shí)現(xiàn)監(jiān)控linux性能及進(jìn)程消耗性能的方法,需要的朋友可以參考下

本文以實(shí)例形式實(shí)現(xiàn)了python監(jiān)控linux性能以及進(jìn)程消耗性能的方法,具體實(shí)現(xiàn)代碼如下:

# -*- coding: utf-8 -*-
"""
Created on Tue Jun 10 10:20:13 2014

@author: lifeix
"""

from collections import OrderedDict
import time
import os

def cpuinfo():
  lines = open('/proc/stat').readlines()
  for line in lines:
    ln = line.split()
    if ln[0].startswith('cpu'):
      return ln;
  return []
W = cpuinfo()
one_cpuTotal=long(W[1])+long(W[2])+long(W[3])+long(W[4])+long(W[5])+long(W[6])+long(W[7])
one_cpuused=long(W[1])+long(W[2])+long(W[3])

def CPUinfo():
  ''' Return the information in /proc/CPUinfo
  as a dictionary in the following format:
  CPU_info['proc0']={...}
  CPU_info['proc1']={...}
  '''
  CPUinfo=OrderedDict()
  procinfo=OrderedDict()

  nprocs = 0
  f = open('/proc/cpuinfo')
  for line in f.readlines():
    if not line.strip():
      # end of one processor
      CPUinfo['proc%s' % nprocs] = procinfo
      nprocs=nprocs+1
      # Reset
      procinfo=OrderedDict()
    else:
      if len(line.split(':')) == 2:
        procinfo[line.split(':')[0].strip()] = line.split(':')[1].strip()
      else:
        procinfo[line.split(':')[0].strip()] = ''
  return CPUinfo

def meminfo():
  ''' Return the information in /proc/meminfo
  as a dictionary '''
  meminfo=OrderedDict()

  f = open('/proc/meminfo')
  for line in f.readlines():
    meminfo[line.split(':')[0]] = line.split(':')[1].strip()
  return meminfo

f = open("sysinfo.log",'a')
def logSysInfo(cpu,mem,line):
  f.write('\ncpu:%s -------mem: %s------mongocpu:%s'%(cpu,mem,line))
  f.flush();

def process_info():
  #獲取drm_processes 的進(jìn)程號(hào)
  textlist = os.popen('top -bcn 1 -p 12023').readlines()
  line = ''
  for t in textlist:
    if t.find('12023'):
      line = t
  line = line.split(' ')
  #此處的值按照自己的需求去取
  return line[15]
if __name__=='__main__':
  CPUinfo = CPUinfo()
  for processor in CPUinfo.keys():
    print(CPUinfo[processor]['model name'])
    f.write("cpu:%s"%CPUinfo[processor]['model name'])
  #meminfo = meminfo()
  #print('Total memory: {0}'.format(meminfo['MemTotal'])) 

  try:
    while True:
      line = process_info()
      time.sleep(2)
      mi = meminfo()
      print('Free memory: {0}'.format(mi['MemFree']))
      W = cpuinfo()
      two_cpuTotal=long(W[1])+long(W[2])+long(W[3])+long(W[4])+long(W[5])+long(W[6])+long(W[7])
      two_cpuused=long(W[1])+long(W[2])+long(W[3])
      cpuused=float(two_cpuused-one_cpuused)/(two_cpuTotal-one_cpuTotal)
      print ('%.2f%%'%(cpuused*100))
      print line
      cpu = '%.2f%%'%(cpuused*100)
      logSysInfo(cpu,format(mi['MemFree']),line)
  except KeyboardInterrupt, e:
    print ("\ncpumonit exited")
    f.close()
f.close()

相關(guān)文章

  • python簡(jiǎn)單實(shí)現(xiàn)整數(shù)反轉(zhuǎn)的畫解算法

    python簡(jiǎn)單實(shí)現(xiàn)整數(shù)反轉(zhuǎn)的畫解算法

    這篇文章主要介紹了python簡(jiǎn)單實(shí)現(xiàn)整數(shù)反轉(zhuǎn)采用了一個(gè)有趣的畫解算法,通過(guò)示例的題目描述來(lái)對(duì)問(wèn)題分析進(jìn)行方案的解決,有需要的朋友可以參考下
    2021-08-08
  • Python真題案例之蛇形數(shù)組詳解

    Python真題案例之蛇形數(shù)組詳解

    這篇文章主要介紹了python實(shí)操案例練習(xí),本文給大家分享的案例中主要講解了蛇形數(shù)組,需要的小伙伴可以參考一下
    2022-03-03
  • Python如何識(shí)別 MySQL 中的冗余索引

    Python如何識(shí)別 MySQL 中的冗余索引

    冗余索引也是一個(gè)非常重要的巡檢目,表中索引過(guò)多,會(huì)導(dǎo)致表空間占用較大,索引的數(shù)量與表的寫入速度與索引數(shù)成線性關(guān)系(微秒級(jí)),如果發(fā)現(xiàn)有冗余索引,建議立即審核刪除,這篇文章主要介紹了Python 識(shí)別 MySQL 中的冗余索引,需要的朋友可以參考下
    2022-10-10
  • django model object序列化實(shí)例

    django model object序列化實(shí)例

    這篇文章主要介紹了django model object序列化實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Django框架登錄加上驗(yàn)證碼校驗(yàn)實(shí)現(xiàn)驗(yàn)證功能示例

    Django框架登錄加上驗(yàn)證碼校驗(yàn)實(shí)現(xiàn)驗(yàn)證功能示例

    這篇文章主要介紹了Django框架登錄加上驗(yàn)證碼校驗(yàn)實(shí)現(xiàn)驗(yàn)證功能,結(jié)合實(shí)例形式分析了Django框架基于Pillow模塊的圖形驗(yàn)證碼生成與使用相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • python實(shí)現(xiàn)通過(guò)flask和前端進(jìn)行數(shù)據(jù)收發(fā)

    python實(shí)現(xiàn)通過(guò)flask和前端進(jìn)行數(shù)據(jù)收發(fā)

    今天小編就為大家分享一篇python實(shí)現(xiàn)通過(guò)flask和前端進(jìn)行數(shù)據(jù)收發(fā),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python中可變變量與不可變變量詳解

    Python中可變變量與不可變變量詳解

    這篇文章主要介紹了Python中可變變量與不可變變量,但Python中沒(méi)有指針和引用的概念,導(dǎo)致很多時(shí)候參數(shù)的傳遞和調(diào)用的時(shí)候會(huì)產(chǎn)生疑問(wèn):我到底是復(fù)制了一份新的做操作還是在它指向的內(nèi)存操作?下面我們就帶著疑問(wèn)去閱讀下面文章內(nèi)容吧
    2021-10-10
  • python實(shí)現(xiàn)的登陸Discuz!論壇通用代碼分享

    python實(shí)現(xiàn)的登陸Discuz!論壇通用代碼分享

    這篇文章主要介紹了python實(shí)現(xiàn)的登陸Discuz!論壇通用代碼分享,需要的朋友可以參考下
    2014-07-07
  • YOLOv5改進(jìn)系列之增加小目標(biāo)檢測(cè)層

    YOLOv5改進(jìn)系列之增加小目標(biāo)檢測(cè)層

    yolov5出來(lái)已經(jīng)很長(zhǎng)時(shí)間了,所以有關(guān)yolov5的一些詳細(xì)介紹在這里就不一一介紹了,下面這篇文章主要給大家介紹了關(guān)于YOLOv5改進(jìn)系列之增加小目標(biāo)檢測(cè)層的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 詳解Python Flask框架的安裝及應(yīng)用

    詳解Python Flask框架的安裝及應(yīng)用

    Flask誕生于愚人節(jié)開(kāi)的一個(gè)玩笑,后來(lái)逐漸發(fā)展成為一個(gè)成熟的 Python Web框架,越來(lái)越受到開(kāi)發(fā)者的喜愛(ài)。本文將以一個(gè)博客后臺(tái)為例,詳解Flask框架的安裝及應(yīng)用,需要的可以參考一下
    2022-05-05

最新評(píng)論