python之cpu效能檢測指令碼

2021-07-11 18:54:10 字數 1689 閱讀 1343

環境:

ubuntu 14.04+python2.7

功能說明:

按時間間隔持續進行cpu佔用率的檢測,當cpu負載超過%60時,進行提示,並且可以根據程序名字殺死該程序

**:

#coding:utf-8

import os

import time

print "cpu dedecting"

flag=true

while flag:

os.system(r"top -n 1 >file1.txt")#執行top命令,將結果存入file1.txt

os.system(r"grep 'cpu(s)' file1.txt >file3.txt")#將cpu執行比列所在的行提取出來,放入file3.txt

import tkinter

import tkmessagebox

def show():

tkmessagebox.showinfo(title='warning', message='your cpu is overload,please kill some unnessary processes')

file3=open("file3.txt",'r')

for line in file3.readlines():

a=line.strip()

for line2 in a.split(" ")[1:2]:#對於每一行,提取出cpu占用的百分比

if float(line2)>60: #將str型別強制轉換成float,並進行比較,超出彈框

show()

print "目前正在執行的程序:\n"

os.system("ps")

os.system("ps 1> file5.txt")

kill_one=raw_input("input the process you want to kill\n")

#os.system(r"grep "+kill_one +"file5.txt >file6.txt")

str2="grep "+kill_one +" file5.txt >file6.txt"

print str2

os.system(str2)

file6=open("file6.txt",'r')

for line3 in file6.readlines():

b=line3.strip()

for line4 in b.split(" ")[0:1]:

str6="kill -9 " +line4

os.system(str6)

print str6

break

file3.close()

print "end"

time.sleep(20)

自我總結:

這個指令碼很憋足,好歹是實現了簡易功能,但是不足的地方是:1使用不便,應該是加上影象化操作介面,我學學著一塊,後期完成乙個easy+的任務管理器樣子的圖形介面 2.就是在python中呼叫shell命令,總感覺怪怪的,但是暫時沒有想到更好的解決辦法。

遇到的問題:

在程式設計過程中有個問題,就是在提取列的時候,本來打算用awk但是,直接使用awk進行列提取沒有問題,在python中呼叫就出現問題,提醒出乎意料的字元'.',查資料也沒弄明白~此路不通記載下來。後期就使用split函式進行列提取。

效能計數器之CPU

processor processor time 閥值 處理器的閥值一般設為85 含義 這個計數器是處理器活動的主要指標。高數值並不一定是壞事,但是如果其他處理器相關的計數器 比如 privileged time 或者processor queue length 線性增加的話,高cpu使用率就值得調...

伺服器效能之CPU

有時我們會發現開發的應用在cpu核數一樣的虛擬伺服器上效能表現出較大的差異,這是為什麼呢?上次有童鞋問到我這樣乙個問題,所以我根據自己的理解給大家簡說下!cpu生產商為了提高cpu的效能,通常做法是提高cpu的時鐘頻率和增加快取容量。不過目前cpu的頻率越來越快,如果再通過提公升cpu頻率和增加快取...

Zabbix監控之郵件告警python指令碼

1 安裝郵件傳送工具mailx yum y install mailx2 檢視版本 root zabbix 100 101 mailx v 12.5 7 5 10 3 配置maix vi etc mail.rc set from 1111 qq.com set smtp smtp.exmail.qq...