psutil.disk_io_counters中write_time与write_count的含义及用法咨询
psutil disk_io_counters 相关参数含义解答
psutil的disk_io_counters返回值直接映射系统内核暴露的磁盘统计字段,两个参数的具体定义如下:
write_count 含义
- 你理解的是对的,
write_count是磁盘自系统启动/挂载启用以来的累计总写入I/O请求次数 - 每次操作系统向磁盘提交一个独立的写入I/O请求,该计数+1,和单次请求写入的字节数无关
- 若调用
disk_io_counters(perdisk=True)则返回单块磁盘的独立计数,perdisk=False则返回所有磁盘的累计总和
write_time 含义与使用方法
write_time单位为毫秒,是磁盘自启动/挂载启用以来,所有写入请求从提交到完成的累计耗时总和- 注意该值不是磁盘处于写入状态的物理时间:如果多块写入请求并行处理,
write_time的增长速度会超过实际物理时间,比如1秒内同时有2个写入请求各耗时1秒完成,该值会在1秒内增加2000毫秒
常见使用场景
计算平均写入响应时间
固定采样间隔(比如1s)先后两次采样,得到两次采样的write_count差值Δwrite_count、write_time差值Δwrite_time,平均写入响应时间计算公式为:平均写入响应时间(ms/次) = Δwrite_time / Δwrite_count
该指标直接反映磁盘写入性能,普通机械盘该值长期超过100ms、SSD长期超过20ms即可判断写入压力过大。计算单盘写入负载占比
采样间隔为T(单位为秒)时,写入负载占比计算公式为:写入负载占比 = Δwrite_time / (T * 1000)
该值对普通单队列HDD的参考价值较高,接近1说明磁盘写入已经满负载;多队列NVMe磁盘支持并行处理多请求,该值可能超过1,仅作参考。
注意事项
所有计数器会在系统重启、磁盘卸载重挂载时清零,长期统计需要自行处理重置后的计数衔接逻辑。
内容的提问来源于stack exchange,提问作者connor.rawls
相关产品推荐
相关产品推荐

