• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Linux下使用python调用top命令获得CPU利用率

Linux下使用python调用top命令获得CPU利用率

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了linux top命令,linux top命令详解,top linux,linux中top命令,linux top参数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。
如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下:
top -bi > cpuHistory.log
</div>
或
top -bi | tee  cpuHistory.log
</div>
这个就不解释了,不懂的朋友查询下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('\n')[2]
        time.sleep(time2sleep)
</div>

原理看起来没错,可是跑起来就出问题了: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('\n\n\n')[1].split('\n')[2]
        time.sleep(time2sleep)
</div>

执行效果如下:

$ ./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
</div>

好,就这些了,希望对你有帮助。

</div>

您可能想查找下面的文章:

  • Linux下使用python调用top命令获得CPU利用率

相关文章

  • 解决pyqt中ui编译成窗体.py中文乱码的问题
  • 在Python中处理日期和时间的基本知识点整理汇总
  • 基于Python实现一个简单的银行转账操作
  • python中将阿拉伯数字转换成中文的实现代码
  • python通过apply使用元祖和列表调用函数实例
  • Python牛刀小试密码爆破
  • 深入解析Python中的lambda表达式的用法
  • Python处理字符串之isspace()方法的使用
  • 利用Python中的pandas库对cdn日志进行分析详解
  • 在Ubuntu系统下安装使用Python的GUI工具wxPython

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python压缩和解压缩zip文件
    • Python break语句详解
    • 深入理解python中的浅拷贝和深拷贝
    • Python简单日志处理类分享
    • Python实现批量把SVG格式转成png、pdf格式的代码分享
    • python 数据清洗之数据合并、转换、过滤、排序
    • python基础教程之popen函数操作其它程序的输入和输出示例
    • python实现同时给多个变量赋值的方法
    • 12步教你理解Python装饰器
    • 以911新闻为例演示Python实现数据可视化的教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有