国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Linux下使用python調(diào)用top命令獲得CPU利用率

2020-02-23 00:17:35
字體:
供稿:網(wǎng)友

本文定位:想通過python調(diào)用top命令獲取cpu使用率但暫時(shí)沒有思路的情況。
如果單純?yōu)榱双@得cpu的利用率,通過top命令重定向可以輕松實(shí)現(xiàn),命令如下:
代碼如下:
top -bi > cpuHistory.log


代碼如下:
top -bi | tee  cpuHistory.log

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

代碼如下:
#! /usr/bin/python

import os,time

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

原理看起來沒錯(cuò),可是跑起來就出問題了:cpu的idle值一直不變!!!
原因在于執(zhí)行的命令“top -bi -n 1”:?jiǎn)为?dú)執(zhí)行這個(gè)命令,你會(huì)發(fā)現(xiàn)輸出結(jié)果中cpu的idle值就是一直不變的。
所以不能這樣寫……
在終端執(zhí)行“top -bi -n 2”命令,你會(huì)發(fā)現(xiàn)第二個(gè)值每次都在變化,這個(gè)就是我們想要結(jié)果。
考慮到時(shí)間問題,命令這樣寫會(huì)更好:“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('/n/n/n')[1].split('/n')[2]
        time.sleep(time2sleep)

執(zhí)行效果如下:

代碼如下:
$ ./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

好,就這些了,希望對(duì)你有幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉尔市| 宁明县| 上饶县| 瓦房店市| 平舆县| 获嘉县| 隆子县| 小金县| 漯河市| 乐至县| 轮台县| 榆树市| 陕西省| 望谟县| 宜春市| 太仆寺旗| 尉犁县| 临沂市| 榆中县| 东安县| 沁水县| 天全县| 项城市| 仁布县| 蒲城县| 晋宁县| 太谷县| 丹凤县| 南丹县| 玉屏| 通化县| 焉耆| 张家界市| 贵州省| 桦甸市| 昆明市| 德清县| 陆河县| 贺州市| 万载县| 泊头市|