Post

linux commands

ls

iostat

iostat 是一个用于监控系统输入/输出设备负载情况的工具,它可以用来收集并显示系统的存储输入/输出统计信息。这可以帮助你识别磁盘 I/O 子系统的性能瓶颈。以下是一些基本的 iostat 命令和它们的用法:

  1. 显示所有设备的统计信息

    你可以使用 iostat 命令而不带任何参数来显示所有设备的统计信息。这将显示自系统启动以来的统计信息。

    1
    
    iostat
    
  2. 定期更新统计信息

    你可以通过在 iostat 命令后添加一个时间间隔(以秒为单位)来定期更新统计信息。例如,以下命令每 2 秒更新一次统计信息:

    1
    
    iostat 2
    
  3. 显示特定设备的统计信息

    你可以在 iostat 命令后添加设备名称来显示特定设备的统计信息。例如,以下命令显示设备 /dev/sda 的统计信息:

    1
    
    iostat /dev/sda
    
  4. 显示扩展统计信息

    你可以使用 -x 选项来显示扩展统计信息。这将包括更多的详细信息,如设备的利用率(%util),每秒读/写次数(r/sw/s),每次读/写的扇区数(rsec/swsec/s),等等。

    1
    
    iostat -x
    
  5. 显示 CPU 统计信息

    你可以使用 -c 选项来显示 CPU 的统计信息。这将包括 CPU 的使用率,用户时间,系统时间,等等。

    1
    
    iostat -c
    

请注意,iostat 的具体用法可能会因系统和版本的不同而略有差异。你可以通过 man iostat 命令查看你的系统上 iostat 的完整文档和所有可用选项。

iotop

iotop 是一个用于监控磁盘 I/O 使用情况的命令行工具,它可以帮助你找出哪些进程/线程正在使用磁盘I/O。iotop 的输出类似于 top 命令的输出,但是它按照每个进程的 I/O 使用量进行排序。

要运行 iotop,你需要 root 权限。你可以使用下面的命令来启动 iotop

1
sudo iotop

下面是 iotop 输出的一个例子:

1
2
3
4
5
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 1030 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [jbd2/sda1-8]
 1054 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:1]

下面是每列的含义:

  • TID:线程的标识符。
  • PRIO:I/O 优先级(be 表示 “best effort”,rt 表示 “real time”)。
  • USER:运行进程的用户名称。
  • DISK READ/DISK WRITE:进程读取/写入的数据量。
  • SWAPIN:该进程是否正在从 swap 读取数据(即,是否正在发生 “swap in”)。
  • IO>:这个进程正在等待 I/O 的百分比。
  • COMMAND:进程正在运行的命令。

你可以使用 -o 选项来只显示那些正在进行 I/O 操作的进程,或者使用 -b 选项来在批处理模式下运行 iotop(这在脚本中很有用)。你可以使用 man iotop 命令来查看更多的选项和信息。

This post is licensed under CC BY 4.0 by the author.

Trending Tags