在Linux中,vmstat
和 iostat
是两个非常有用的命令行工具,用于监控系统的性能,尤其是CPU使用率、内存使用情况、磁盘I/O以及进程状态。下面分别详细介绍这两个命令的使用方法。
1. vmstat
命令格式:
vmstat [选项] [时间间隔] [次数]
常用选项:
- 不带选项时,
vmstat
默认显示自从系统启动以来的信息。 -a
显示活跃和非活跃内存。-s
显示汇总统计信息。-r
显示内存页面的统计信息。-d
显示磁盘统计信息。-p
设备名称,比如-p disk_name
,显示指定磁盘的活动信息。-w
显示关于等待资源的进程信息。
示例:
- 查看实时的CPU、内存、进程和磁盘统计,每2秒输出一次,共输出5次:
vmstat 2 5
- 只查看内存和交换空间使用情况的汇总统计:
vmstat -s
2. iostat
命令格式:
iostat [选项] [时间间隔] [次数]
常用选项:
-c
仅显示CPU使用情况。-d
仅显示磁盘使用情况。-k
以千字节每秒显示数据传输速率。-m
以兆字节每秒显示数据传输速率。-p
显示指定磁盘设备或所有分区的统计信息。-t
在输出中包含时间戳。-x
显示更详细的设备统计信息。-V
显示版本信息并退出。
示例:
- 实时监控CPU和磁盘I/O,每隔1秒输出一次,共输出3次:
iostat -dk 1 3
- 查看CPU使用情况,不关心磁盘统计,每5秒输出一次,持续监控直到手动停止(Ctrl+C):
iostat -c 5 BASH 复制 全屏
- 指定监控特定磁盘设备,如sda,每秒输出一次,共输出5次:
iostat -dx /dev/sda 1 5 BASH 复制 全屏
综上所述,这两个命令对于诊断系统瓶颈、监控资源使用情况以及进行性能调优都非常有帮助。根据具体需求选择合适的选项和时间间隔,可以有效地监控和分析系统的运行状况。