You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell获取特定脚本产生的真实磁盘IOPS及I/O计数

统计特定脚本产生的I/O量的实用工具与方法

以下是几个能精准追踪特定脚本(如XY.sh)I/O开销的工具,执行结束后可直接获取累计I/O数据:

  • pidstat(sysstat包自带)
    这是最常用的进程I/O统计工具,无需额外复杂配置。

    • 若脚本已在运行,先获取其PID:pgrep -f XY.sh
    • 实时追踪并累计I/O:pidstat -d -p <PID>,脚本结束后,输出里的kB_rd/s和kB_wr/s的累计值可换算总读写量;也可以用pidstat -d -p <PID> 1持续刷新,直到脚本终止,最后汇总数据。
    • 若要启动脚本时直接追踪:./XY.sh & pidstat -d -p $!,$!代表刚启动的脚本PID。
  • iotop
    交互式的I/O监控工具,能直观展示进程的实时I/O及累计量:

    • 只追踪目标脚本:iotop -o -p $(pgrep -f XY.sh),-o参数仅显示有I/O活动的进程,脚本结束前,界面底部会显示该进程的累计DISK READ和DISK WRITE数值。
  • strace
    通过追踪系统调用统计I/O,适合精准统计读写字节数,但会轻微影响脚本性能:

    • 直接执行脚本并统计:strace -e trace=read,write -c ./XY.sh,脚本执行完毕后,会输出read和write系统调用的总次数、总字节数,其中bytes列即为累计I/O量。
  • perf
    内核级性能分析工具,需root权限,可统计块设备层面的I/O请求:

    • 执行脚本并统计:perf stat -e block:block_rq_insert -e block:block_rq_complete ./XY.sh,输出会显示脚本触发的块设备请求插入和完成次数,结合块大小可换算总I/O量。

注意:针对远程共享(如NFS、SMB),上述工具统计的是本地发起的I/O请求,也就是实际发送至远程共享的真实I/O数据,完全符合你的需求。

内容的提问来源于stack exchange,提问作者anael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:42:38