我想看看 Linux 上是否有类似于 Windows 下的 Perfmon 程序。是否存在这样一种终端友好且非 GUI 程序?谢谢。
答案1
iostat 就是你要找的:
iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.
像这样调用它将每 2 秒获得 KB/s:
$ iostat -k 2
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdb 0.89 2.39 1.72 189644 136436
sda 5.42 31.79 40.89 2519836 3240543
答案2
使用iostat
。例如,iostat 2
将每 2 秒输出一次 io 统计信息。但请注意,它每秒输出一次块。通常,一个块为 4 KB,但可能因实际使用的块设备而异。
答案3
您可能需要每个进程的统计数据:(iostat
尽管其他方面都很好)不知道如何做到这一点,但是iotop能。
答案4
如果您想要的不仅仅是 I/O,还可以使用 SAR:
sar 命令将操作系统中选定的累积活动计数器的内容写入标准输出。
sar 文件包含有关处理器、内存、磁盘、网络的信息。这些文件根据系统每天生成,并根据系统配置保留几天。
如果您运行 sar -A,您将获得当天的所有计数器,并且有很多。您还可以运行 sar -A -f /var/log/sa[DD],其中 DD 是月份中的日期,例如 sa01 或 sa14。
如果您需要有关 I/OI 的特定信息,建议尝试以下开关并查看手册页以获取更多详细信息:
-b Report I/O and transfer rate statistics.
-d 报告每个块设备的活动(仅适用于内核 2.4 及更新版本)。
这是一个非常有用的工具,可用于诊断历史问题和性能问题。