linux如何查看i o
- Linux
- 2025-07-14
- 2250
iostat命令查看I/O,它能显示系统的磁盘I/O统计信息,如读写速度、IOPS等;
 iotop可实时监视磁盘I/O并按使用率排序;
 vmstat能报告内存、进程、虚拟内存和I/O等状态信息
Linux系统中,查看I/O(输入/输出)操作有多种方法,以下是一些常用的命令和工具:
iostat命令
iostat命令是用于查看系统I/O统计信息的强大工具,它可以显示CPU使用情况以及磁盘、分区和网络设备的I/O统计信息。
-  安装: - Ubuntu/Debian系统:sudo apt-get install sysstat
- CentOS/RHEL系统:sudo yum install sysstat
 
- Ubuntu/Debian系统:
-  常用参数: - -c:显示CPU利用率信息。
- -d:显示磁盘和分区的I/O统计信息。
- -h:以人类可读的方式显示输出。
- -k:以KB为单位显示输出。
- -m:以MB为单位显示输出。
- -t:显示时间戳。
- 间隔时间:指定统计信息的显示间隔时间,默认为每秒钟显示一次。
- 次数:指定统计信息的显示次数,默认为无限制。
 
-  示例: iostat -d 1 5 # 每隔1秒显示一次磁盘I/O统计信息,共显示5次 
-  输出解释: - r/s和- w/s:每秒读/写请求数。
- rkB/s和- wkB/s:每秒读取/写入的千字节数。
- %util:设备利用率,表示设备在处理I/O的时间百分比,接近100%时意味着磁盘I/O是瓶颈。
 
iotop命令
iotop命令是一个实时磁盘I/O监控工具,可以显示磁盘I/O占用情况,并按照I/O使用量排序,帮助用户找出占用磁盘I/O资源的进程。
-  安装: - Ubuntu/Debian系统:sudo apt-get install iotop
- CentOS/RHEL系统:sudo yum install iotop
 
- Ubuntu/Debian系统:
-  常用参数: - -o:以I/O使用量进行排序。
- 间隔时间:指定监控信息的显示间隔时间,默认为每秒钟显示一次。
- 次数:指定监控信息的显示次数,默认为无限制。
 
-  示例:  sudo iotop -o # 以I/O使用量排序显示 
-  输出解释: - DISK READ/WRITE:每个进程的磁盘读写速度。
- PID:进程ID。
- COMMAND:进程的名称。
- IO%:进程占用的I/O资源百分比。
 
vmstat命令
vmstat命令用于报告虚拟内存统计信息,其中包括了关于内存、I/O和CPU的统计数据。
-  常用参数: - -d:显示磁盘统计信息。
- 间隔时间:指定统计信息的显示间隔时间。
- 次数:指定统计信息的显示次数。
 
-  示例: vmstat -d 1 5 # 每隔1秒显示一次磁盘统计信息,共显示5次 
-  输出解释: - bi和- bo:块设备的I/O输入输出量(块/秒)。
- r:运行队列中的进程数。
- b:等待I/O的进程数。
 
sar命令
sar命令用于收集、报告和保存系统活动信息,包括CPU使用情况、内存使用情况、I/O活动等。
-  常用参数:  - -d:显示磁盘的I/O活动信息。
- 间隔时间:指定统计信息的显示间隔时间。
- 次数:指定统计信息的显示次数。
 
-  示例: sar -d 1 10 # 每隔1秒显示一次磁盘I/O活动信息,共显示10次 
dstat命令
dstat命令是一个全能的系统性能统计工具,可以实时显示系统资源的使用情况,包括CPU、内存、磁盘I/O、网络I/O等。
-  安装: - Ubuntu/Debian系统:sudo apt-get install dstat
- CentOS/RHEL系统:sudo yum install dstat
 
- Ubuntu/Debian系统:
-  常用参数: - -c:显示CPU的统计信息。
- -d:显示磁盘的统计信息。
- -n:显示网络设备的统计信息。
- -y:显示系统中各个进程的I/O使用情况。
 
-  示例: dstat -cd 1 5 # 每隔1秒显示一次CPU和磁盘的统计信息,共显示5次 
lsof命令
lsof命令可以用来查看当前系统中打开的文件和网络连接情况,通过查看该命令的输出结果,可以获取到哪些进程正在使用磁盘I/O资源。
-  常用参数:  - -c 进程名:指定要查看的进程名。
- -i:显示网络连接情况。
- -r:递归显示子进程的信息。
- -a:显示所有选定条件的信息。
- +d 目录:显示指定目录下打开的文件。
- +D 目录:递归显示指定目录及其子目录下打开的文件。
 
-  示例: lsof -i # 显示网络连接信息 lsof -p <PID> # 查询指定进程的打开文件 
/proc文件系统
Linux操作系统还提供了/proc文件系统,其中包含了许多系统运行时的信息,可以通过查看这些文件来获取磁盘I/O相关的信息。
-  常用文件: - /proc/diskstats:包含所有磁盘的统计信息,包括磁盘读写次数、字节数等。
- /proc/mounts:包含当前挂载的文件系统信息。
- /proc/sys/vm/dirty_background_ratio:包含脏页背景写回的阈值。
 
-  示例: cat /proc/diskstats # 查看磁盘的统计信息 cat /proc/mounts # 查看挂载的文件系统信息 
FAQs
Q1: iostat和iotop有什么区别?
A1: iostat主要用于查看系统级别的I/O统计信息,包括磁盘、分区和网络设备的I/O情况,而iotop则是一个实时监控工具,专注于显示各个进程的I/O使用情况,类似于top命令但只关注I/O。
Q2: 如何判断磁盘I/O是否成为系统瓶颈?
A2: 可以通过查看iostat输出的%util指标来判断,如果该值持续接近100%,则表示磁盘I/O可能是系统瓶颈,还可以结合await指标(平均每次I/O请求的等待时间)来进一步分析,如果await值较高,也表明I/O
 
  
			