iotop指定硬盘_iot硬盘和普通硬盘区别

Iotop—Linux上监控磁盘I/O的利器详细使用说明

Iotop 工具是一个免费的开源免费工具,用于监控 Linux 中的磁盘输入/输出 (IO) 使用情况。它可以帮助系统管理员找到消耗更多磁盘使用的特定进程,并有助于性能分析。

从 内核开始支持 Iotop 工具。本教程介绍了如何在 linux 中安装和使用 iotop。

先决条件

Iotop 安装需要低于最低版本的 python 和内核。

Python >=
Linux 内核 ≥

在 Linux 上安装 iotop

让我们看看如何在 CentOS、Ubuntu、Fedora、Debian 和 Linux Mint 上安装 iotop。

在 Ubuntu、Debian 和 Linux Mint 上

#sudo apt-get install iotop

在 CentOS、Fedora 和 RHEL 上

#sudo yum -y install iotop
or 
#sudo dnf install iotop

另一种选择是通过下载 gzipped 或 bzipped 文件并解压缩来从源代码安装。然后使用“setup.py”文件安装。iotop 是用 Python 编写的,它是 iotop 安装的先决条件。

使用以下命令提取和安装 iotop:

# tar -xjvf iotop-.tar.bz2
# cd iotop-/
# ./setup.py install

iotop 用法

iotop 命令必须以 root 用户身份运行。作为普通用户,当您运行此命令时,会出现以下错误:

$ iotop
Netlink error: Operation not permitted (1)
iotop requires root or the NET_ADMIN capability.

默认情况下,iotop 是一个类似于top 命令的交互式命令。

样本输出:

Total DISK READ :        B/s | Total DISK WRITE :        B/s
Actual DISK READ:        B/s | Actual DISK WRITE:        B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root         B/s     B/s   %   % systemd --switched-root --system --deserialize 
    2 be/4 root         B/s     B/s   %   % [kthreadd]
    3 be/0 root         B/s     B/s   %   % [rcu_gp]
    4 be/0 root         B/s     B/s   %   % [rcu_par_gp]
    6 be/0 root         B/s     B/s   %   % [kworker/0:0H-kblockd]
    8 be/0 root         B/s     B/s   %   % [mm_percpu_wq]
    9 be/4 root         B/s     B/s   %   % [ksoftirqd/0]
    be/4 root         B/s     B/s   %   % [rcu_sched]
    rt/4 root         B/s     B/s   %   % [migration/0]
    rt/4 root         B/s     B/s   %   % [watchdog/0]
    be/4 root         B/s     B/s   %   % [cpuhp/0]
    be/4 root         B/s     B/s   %   % [kdevtmpfs]
    be/0 root         B/s     B/s   %   % [netns]
    be/4 root         B/s     B/s   %   % [kauditd]
    be/4 root         B/s     B/s   %   % [khungtaskd]
    be/4 root         B/s     B/s   %   % [oom_reaper]
    be/0 root         B/s     B/s   %   % [writeback]
    be/4 root         B/s     B/s   %   % [kcompactd0]
    be/5 root         B/s     B/s   %   % [ksmd]
    be/7 root         B/s     B/s   %   % [khugepaged]
    be/0 root         B/s     B/s   %   % [crypto]

在此输出中,在最顶部,第一行分为两列。

第一列显示每秒total DISK READ,第二列显示total DISK WRITE每秒。

以下几行对应于每个执行 IO 操作的进程。它列出了系统中每个进程的进程 ID、用户所有权、磁盘读取、磁盘写入、进程名称、swapin(每个进程的交换使用情况)。

如果您只想列出实际上正在执行任何磁盘 I/O 操作的活动进程,请在 iotop 运行时按 o(切换),或者使用-o选项 (iotop -o) 运行 iotop。

Total DISK READ :        B/s | Total DISK WRITE :        K/s
Actual DISK READ:        B/s | Actual DISK WRITE:       K/s
TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 be/4 root         B/s     B/s   %   % rsyslogd -n [rs:main Q:Reg]
 be/3 root         B/s     B/s   %   % [jbd2/sda-8]
 be/4 root         B/s     K/s   %   % rsyslogd -n [in:imjournal]

您可以通过按 退出 iotop 和 top 一样q。

以下输出是在运行任何 io 密集型进程时,例如 iozone。

Total DISK READ:  K/s | Total DISK WRITE:  M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
 be/3 root  B/s  K/s  %  % [jbd2/sda8-8]
 be/4 root  B/s  M/s  %  % ./iozone -a
 be/4 raghu  K/s  B/s  %  % totem /home/raghu/Downloads/ - Harjinder Singh - Mere Ram Rai.mp3

Iotop 选项

如上所述,该-o选项列出了实际执行磁盘 I/O 的进程。该-b选项以非交互式批处理模式运行 iotop。它可用于记录目的。

-n选项告诉批处理模式要执行的迭代次数:

# iotop -b -n1
Total DISK READ:  B/s | Total DISK WRITE:  B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND
1 be/4 root  B/s  B/s  %  % init
2 be/4 root  B/s  B/s  %  % [kthreadd]
3 be/4 root  B/s  B/s  %  % [ksoftirqd/0]
 be/4 rtkit  B/s  B/s  %  % rtkit-daemon
 be/4 rtkit  B/s  B/s  %  % rtkit-daemon
6 rt/4 root  B/s  B/s  %  % [migration/0]
7 rt/4 root  B/s  B/s  %  % [watchdog/0]
8 rt/4 root  B/s  B/s  %  % [migration/1]
 be/4 raghu  B/s  B/s  %  % gconfd- be/4 root  B/s  B/s  %  % [ksoftirqd/1]
 rt/4 root  B/s  B/s  %  % [watchdog/1]
---Output Truncated---

该-u选项显示特定用户的进程。

# iotop -u raghu
Total DISK READ:  B/s | Total DISK WRITE:  B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
 be/4 raghu  B/s  B/s  %  % gconfd- be/4 raghu  B/s  B/s  %  % gvfs-afc-volume-monitor
 be/4 raghu  B/s  B/s  %  % caja
 be/4 raghu  B/s  B/s  %  % clock-applet
 be/4 raghu  B/s  B/s  %  % matecomponent-activation-server --ac-activate --ior-output-fd= be/4 raghu  B/s  B/s  %  % mate-bluetooth-applet
 be/4 raghu  B/s  B/s  %  % mate-volume-control-applet
 be/4 raghu  B/s  B/s  %  % chromium-browser --disable-new-tab-first-run --enable-user-scripts
 be/4 raghu  B/s  B/s  %  % gconf-helper

-d选项设置迭代之间的延迟。

# iotop -d 3

最后,该--version选项打印 iotop 的版本号。

# iotop --version
iotop 

Iotop 关键字快捷键

让我们检查一些使用 iotop 的有用的关键字快捷方式。

向左或向右移动箭头键以更改排序。

-h :- 查看使用信息的选项。
-r :- 反转排序顺序的选项。
-o :- 检查进程或线程的选项。
-b :- 打开非交互模式以启用记录 I/O 使用的选项。
-p :- PID 列出所有要监控的进程/线程。
-u :- USER 选项列出所有要监视的用户。
-P :- 仅列出进程的选项。通常 iotop 会显示所有线程。
-a :- 检查累积 I/O 而不是带宽的选项。

结论

当系统使用高磁盘 IO 或高交换使用率时,iotop 是性能分析必不可少的一把利器。

我新建了个技术微信群,欢迎同行扫码进入

喜欢的朋友记得给个关注~

原文链接:,转发请注明来源!