.windows模拟linux命令iostat的显示

 

 

脚本如下:

#!/usr/bin/env python
#coding:utf-8
import win32com.client
import time

def disk_status():
    try:
        while 1:
            strComputer = "."
            objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
            objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2")
            colItems = objSWbemServices.ExecQuery("SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk")
            print "time:" + time.strftime("%Y-%m-%d %H:%M:%S")
            print "Device:" +'\t' + "tps" +'\t' + "kB_read/s" +'\t' + "kB_wrtn/s" +'\t' + "kB_read" +'\t' + "kB_wrtn" +'\t' +"Disk_free"
            for objItem in colItems:
                if objItem.Name != '_Total':
                    print objItem.Name +'\t' + str(objItem.DiskTransfersPersec) +'\t' + "%0.1f" % (float(objItem.DiskReadBytesPersec)/1024) +'\t' + '\t' + "%0.1f" % (float(objItem.DiskWriteBytesPersec)/1024) +'\t' + '\t' +  "%0.1f" % (float(objItem.DiskReadsPersec)/1024) +'\t' + "%0.1f" % (float(objItem.DiskWritesPersec)/1024) +'\t' + "%0.0f%%" % objItem.PercentFreeSpace

                    #Device: 显示磁盘名称
                    #tps: 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 I/O 请求。传输具有中等的大小。
                    #kB_read/s: 每秒从磁盘读取的数据量,单位为KB。
                    #kB_wrtn/s: 每秒从写入磁盘的数据量,单位为KB。
                    #Kb_read: 读取的 KB 总数。
                    #Kb_wrtn: 写入的 KB 总数。
                    #DiskTransfersPerSec:每秒磁盘传输次数。
                    #DiskReadBytesPerSec:每秒从磁盘读取得数据量,单位为Byte。
                    #DiskWriteBytesPerSec:每秒从磁盘写取得数据量,单位为Byte。
                    #PercentFreeSpace:可用磁盘百分比
            print ''
            time.sleep(2)
    except (EOFError,KeyboardInterrupt):
        pass
if __name__ == '__main__':
    disk_status()

 

执行结果:

time:2018-05-06 12:04:32
Device:    tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn    Disk_free
C:    171    437.6        700.2        0.1    0.1    60%
D:    0    0.0        0.0        0.0    0.0    4%
E:    0    0.0        0.0        0.0    0.0    28%
F:    0    0.0        0.0        0.0    0.0    16%
G:    0    0.0        0.0        0.0    0.0    31%
H:    0    0.0        0.0        0.0    0.0    31%
HarddiskVolume1    0    0.0        0.0        0.0    0.0    97%
HarddiskVolume14    0    0.0        0.0        0.0    0.0    47%
HarddiskVolume15    0    0.0        0.0        0.0    0.0    96%
HarddiskVolume17    0    0.0        0.0        0.0    0.0    96%
HarddiskVolume19    0    0.0        0.0        0.0    0.0    96%
HarddiskVolume21    0    0.0        0.0        0.0    0.0    96%
HarddiskVolume23    0    0.0        0.0        0.0    0.0    96%
HarddiskVolume5    0    0.0        0.0        0.0    0.0    41%
HarddiskVolume6    0    0.0        0.0        0.0    0.0    17%

 

 

参考:http://blog.51cto.com/wangwei007/741083

安装win32com.client

https://github.com/mhammond/pywin32/releases

转载于:https://www.cnblogs.com/zhongguiyao/p/8997836.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值