[Python Study Notes]磁盘信息和IO性能
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
>>文件: 磁盘信息.py
>>作者: liu yang
>>邮箱: liuyang0001@outlook.com ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' #!/usr/bin/env python
# -*- coding: utf-8 -*- import sys,os
import psutil
from time import sleep '''判断平台'''
def platform_judge():
# 将平台信息小写返回
platform=sys.platform.lower()
return platform '''将bytes数转换成更加直观的符号显示'''
def bytes2symbols(bytes_value): '''单位符号'''
symbols = ('K' ,'M', 'G', 'T', 'P', 'E', 'Z', 'Y') '''每个单位对应的bytes数的字典,先定义为空'''
prefix={} '''要得到这样的{K:1024, M:1024*1024,G:1024**3},进行for循环'''
for i,s in enumerate(symbols):
# '''enumerate()为列举函数'''
# '''i:代表下标'''
# '''s:代表改下标对应的值''' # '''取到符号元组的值,作为prfix字典的key,根据key给value进行赋值'''
prefix[s]=1024**(i+1) # '''打印得到的对应字典'''
# print(prefix)
symbols_value=0
symbol=''
# '''循环prefix字典,得到转换值'''
for key,value in prefix.items():
if bytes_value >=value :
symbols_value=bytes_value/value
symbol=key
# 如果不满足最小的KB,则以B显示
elif bytes_value <1024:
return '%0.2fB'%bytes_value
# '''返回转换值(str)'''
return '%0.2f%sB'%(symbols_value,symbol) '''实时io速率显示'''
def disk_io_message():
t1 = psutil.disk_io_counters()
sleep(1)
'''判断平台,命令清屏'''
if platform_judge()=='linux':
os.system('clear')
else:
os.system('cls')
t2 = psutil.disk_io_counters()
read_bytes = bytes2symbols(t2.read_bytes - t1.read_bytes)
write_bytes = bytes2symbols(t2.write_bytes - t1.write_bytes)
# tps
tps = t2.read_count + t2.write_count - t1.read_count - t1.write_count
print('读/s:%10s'%read_bytes)
print('写/s:%10s'%write_bytes)
print('Tps:%10d'%tps) '''磁盘分区信息显示'''
def disk_partitions():
# 得到磁盘详细信息的列表
disks=psutil.disk_partitions()
# 循环列表,打印
for disk in disks:
print('%s %6s %10s'%(disk.device,disk.fstype,disk.opts)) if __name__ == '__main__': # platform=platform_judge()
# value=bytes2symbols(1025)
# print(value)
# print(platform)
while True:
disk_io_message()
# 磁盘分区信息
# disk_partitions() # io实时性能信息
# disk_io_message()
[Python Study Notes]磁盘信息和IO性能的更多相关文章
- [Python Study Notes]进程信息(丁丁软件监控进程,http-post)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]cpu信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]电池信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]内存信息
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]CS架构远程访问获取信息--SERVER端v2.0
更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 ''''''''''''''''''''''''''' ...
- [Python Study Notes]CS架构远程访问获取信息--Client端v2.0
更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 效果图: '''''''''''''''''''''' ...
- [Python Study Notes]CS架构远程访问获取信息--SERVER端
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]psutil模块
系统性能信息模块psutil psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等 ...
- [Python Study Notes]CS架构远程访问获取信息--Client端v1.0
更新内容: 1.添加entry栏默认ip和port口 2.修正退出功能 3.添加退出自动关闭窗口功能 4.优化cpu显示为固定保留两位小数 '''''''''''''''''''''''''''''' ...
随机推荐
- memcached集群和一致性哈希算法
场景 由于memcached集群各节点之间都是独立的,互不通信,集群的负载均衡是基于客户端来实现的,因此需要客户端用户设计实现负载均衡算法. 取模算法 N个节点,从0->N-1编号,key对N ...
- Android调试错误-No resource identifier found for attribute 'showAsAction'
转载自:http://www.bubuko.com/infodetail-498830.html 1.问题描述: 24\YoumiAndroidSdk\demo\offers\res\menu\mai ...
- [知了堂学习笔记]_css3特效第二篇--行走的线条&&置顶导航栏
一.行走的线条. 效果图(加载可能会慢一点儿,请稍等...): html代码: <div class="movingLines"> <img src=" ...
- Hyperledger Fabric Read-Write set semantics——读写集
Read-Write set semantics(读写集) 本文讨论了关于读写集当前实现的细节. Transaction simulation and read-write set(事务模拟和读写集) ...
- RocketMQ-消费重试机制
介绍: RocketMQ的消息重试及时分为两种,一种是Producer端重试,一种是Consume端重试. 1.Producer端重试 : 1.1消息发没发成功,默认情况下是3次重试. 2.Consu ...
- 基于jQuery表单快速录入数据功能
一.功能介绍:完全依靠jQuery,表单table新增行(按键盘tab增一行,按esc删一行),也可以加一个新增行按钮点击新增多行,这里就不多说了~~ 二.该功能主要实现技术: 1,总体.NET MV ...
- JavaScript小结
语法小结 /** * Created by M.C on 2017/5/26. */ /*弹框*/ //var message = "Hello world"; //alert(m ...
- Execption:the database returned no natively generated identity value
org.hibernate.HibernateException: The database returned no natively generated identity value at org. ...
- awk进阶整理
BEGIN{写在前言,我英语不好,有许多地方直接使用的谷歌翻译.为了能理清awk工具使用的思路,详情还要看awk说明书(man awk) 或者http://www.gnu.org/software/g ...
- ftp服务配置
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件.上传文件.下载文件. FTP 基于TCP协议生成一个虚拟的连接,主要用于控制F ...