最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

Linux下使用python調用top命令獲得CPU利用率

來源:懂視網 責編:小采 時間:2020-11-27 14:31:45
文檔

Linux下使用python調用top命令獲得CPU利用率

Linux下使用python調用top命令獲得CPU利用率:本文定位:想通過python調用top命令獲取cpu使用率但暫時沒有思路的情況。 如果單純為了獲得cpu的利用率,通過top命令重定向可以輕松實現,命令如下: 代碼如下: top -bi > cpuHistory.log 或 代碼如下: top -bi | tee cpuHistor
推薦度:
導讀Linux下使用python調用top命令獲得CPU利用率:本文定位:想通過python調用top命令獲取cpu使用率但暫時沒有思路的情況。 如果單純為了獲得cpu的利用率,通過top命令重定向可以輕松實現,命令如下: 代碼如下: top -bi > cpuHistory.log 或 代碼如下: top -bi | tee cpuHistor

本文定位:想通過python調用top命令獲取cpu使用率但暫時沒有思路的情況。
如果單純為了獲得cpu的利用率,通過top命令重定向可以輕松實現,命令如下:
代碼如下:


top -bi > cpuHistory.log



代碼如下:


top -bi | tee cpuHistory.log


這個就不解釋了,不懂的朋友查詢下top的幫助文檔。這里要實現的是通過python調用top命令,并獲得cpu的利用率信息。
用過popen的朋友很快就能想到類似如下的代碼(這個是我第一次寫的代碼,*_*):

代碼如下:


#! /usr/bin/python

import os,time

time2sleep = 1.5
while True:
print os.popen('top -bi -n 1').read().split(' ')[2]
time.sleep(time2sleep)

原理看起來沒錯,可是跑起來就出問題了:cpu的idle值一直不變?。?!
原因在于執行的命令“top -bi -n 1”:單獨執行這個命令,你會發現輸出結果中cpu的idle值就是一直不變的。
所以不能這樣寫……
在終端執行“top -bi -n 2”命令,你會發現第二個值每次都在變化,這個就是我們想要結果。
考慮到時間問題,命令這樣寫會更好:“top -bi -n 2 -d 0.02”
代碼如下:

代碼如下:


#! /usr/bin/python
'''
File : cpuRate.py
Author : Mike
E-Mail : Mike_Zhang@live.com
'''
import os,time

time2sleep = 2.5
while True:
print int(time.time()),
print os.popen('top -bi -n 2 -d 0.02').read().split(' ')[1].split(' ')[2]
time.sleep(time2sleep)

執行效果如下:

代碼如下:


$ ./cpuRate.py
1328109437 Cpu(s): 10.0%us, 20.0%sy, 0.0%ni, 70.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
1328109441 Cpu(s): 0.0%us, 16.7%sy, 0.0%ni, 83.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
1328109444 Cpu(s): 0.0%us, 16.7%sy, 0.0%ni, 83.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
1328109447 Cpu(s): 12.5%us, 12.5%sy, 0.0%ni, 75.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

好,就這些了,希望對你有幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Linux下使用python調用top命令獲得CPU利用率

Linux下使用python調用top命令獲得CPU利用率:本文定位:想通過python調用top命令獲取cpu使用率但暫時沒有思路的情況。 如果單純為了獲得cpu的利用率,通過top命令重定向可以輕松實現,命令如下: 代碼如下: top -bi > cpuHistory.log 或 代碼如下: top -bi | tee cpuHistor
推薦度:
標簽: cpu linux 命令
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
国产精品久久久久精品…-国产精品可乐视频最新-亚洲欧美重口味在线-欧美va免费在线观看