国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 阜新市| 宜昌市| 南充市| 乌苏市| 米泉市| 桂东县| 碌曲县| 三原县| 绥棱县| 宁强县| 石棉县| 大同县| 三门峡市| 格尔木市| 龙山县| 大丰市| 天台县| 上蔡县| 邓州市| 余庆县| 达日县| 临夏市| 大理市| 小金县| 云浮市| 临邑县| 凤城市| 新营市| 洪洞县| 巴彦县| 陇西县| 沂南县| 昭苏县| 五大连池市| 庆元县| 长丰县| 育儿| 巴楚县| 车险| 江口县| 郁南县|