.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

时间: 2024-11-10 13:32:29

.windows模拟linux命令iostat的显示的相关文章

Windows模拟linux终端工具Cmder+Gow

1. 说明 Cmder:Windows下的终端模拟器. Gow: Windows下模拟Linux命令行工具集合.可以在windows执行linux下的大部分命令,如ls.grep.xargs等. 2. 下载 Cmder官网:http://cmder.net/.Cmder有mini与full版:full版本内键了Git for Windows的标准配备,可以在Cmder里面执行git相关命令. Gow:https://github.com/bmatzelle/gow/releases.Gow请下载

Linux命令之hostname - 显示或设置主机名

我使用过的Linux命令之hostname - 显示或设置主机名 本文链接:http://codingstandards.iteye.com/blog/804648   (转载请注明出处) 用途说明 hostname命令可以用来显示或者设置主机名(show or set the system's host name).环境变量HOSTNAME也保存了当前的主机名.在使用hostname命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名.如果需要永久修改主机名,需要同

我使用过的Linux命令之date - 显示、修改系统日期时间

我使用过的Linux命令之date - 显示.修改系统日期时间 本文链接:http://codingstandards.iteye.com/blog/1157513   (转载请注明出处) 用途说明 ate命令可以用来显示和修改系统日期时间,注意不是time命令. 常用参数 格式:date 显示当前日期时间. 格式:date mmddHHMM 格式:date mmddHHMMYYYY 格式:date mmddHHMM.SS 格式:date mmddHHMMYYYY.SS 设置当前日期时间,只有r

Python:模拟linux命令cat

模拟linux的cat命令,打印从命令行输入的文件名 #!/usr/bin/python #Filename:cat.py helpString = '''This program prints files to the standard output. Any number of files can be specified. Options include: --version : Prints the version number --help : Display this help'''

linux命令(7)---常用显示件内容命令

1.cat命令:cat - concatenate files and print on the standard output [功能] 一次性显示文件内容,这样一来就文件内容够多的话,就会只显示最后一页, [语法] cat [option] filename [选项] -n:表示在显示文件内容时,打印出文件内容的行号 -b:对非空输出行编号,也就是有文件内容的行显示行号,空格也是文件内容 -s:表示遇到连续两行的空白行,自动替换为一个空白行 -E:表示在每行结束显示$符号,不常用 2.hea

Linux命令行下显示下载文件进度ftp或scp

背景:使用ftp去获取大文件时,出现假死现象,不知道文件是否还在传输 1.登录到远方的ftp服务器,并输入用户,密码 [email protected] list]# ftp 19.129.81.5 Connected to 19.129.81.5. 220 (vsFTPd 2.2.2) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an auth

每天一个linux命令:iostat

1.命令简介 iostat(I/O statistics 输入/输出统计) 命令对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况 2.用法 iostat [ 选项 ] [ <时间间隔> [ <次数> ] ] 3.选项 -c:仅显示CPU使用情况: -d:仅显示设备利用率:一般不和-c一起使用 -k:显示状态以千字节每秒为单位,而不使用块每秒: -m:显示状态以兆字节每秒为单位: -N 显示磁盘阵列(LVM) 信息 -n 显示NFS 使用情况

我使用过的Linux命令之date - 显示、修改系统日期时间(转)

用途说明 ate命令可以用来显示和修改系统日期时间,注意不是time命令. 常用参数 格式:date 显示当前日期时间. 格式:date mmddHHMM 格式:date mmddHHMMYYYY 格式:date mmddHHMM.SS 格式:date mmddHHMMYYYY.SS 设置当前日期时间,只有root用户才能执行,执行完之后还要执行 clock -w 来同步到硬件时钟. mm为月份,dd为日期,HH为小时数,MM为分钟数,YYYY为年份,SS为秒数. 格式:date +FORMAT

Windows 和 Linux 命令行 的不同

1.进入目录 Windows下,若路径不在当前系统盘下,需要先直接输入路径所在系统盘,执行后,在使用命令cd 路径进入对应目录 Linux下,直接使用cd 路径 即可进入对应目录