监控硬盘活动

Bow*_*ark 24 command-line ubuntu monitoring hard-disk

在 Ubuntu 14.04 服务器中,我遇到了大量的硬盘活动,但没有明显的理由:它突然出现,持续几分钟然后消失。它消耗系统资源并使整个系统变慢。

是否有(命令行)工具可用于监视磁盘活动,列出使用磁盘的进程和所涉及的文件?像 CPU 的 htop 之类的东西。

fdu*_*uff 27

为了检查 I/O 使用情况,我通常使用iotop. 默认情况下,它没有安装在发行版上,但您可以通过以下方式轻松获得它:

sudo apt-get install iotop
Run Code Online (Sandbox Code Playgroud)

然后使用 root 权限启动它:

sudo iotop --only
Run Code Online (Sandbox Code Playgroud)

--only选项将显示当前访问 I/O 的进程。

iotop 在终端中的图像

  • `--only` 选项非常有趣,因为它*仅显示实际执行 I/O* 的进程或线程。 (6认同)

Ram*_*and 14

你可以试试nmon

sudo apt-get install nmon
Run Code Online (Sandbox Code Playgroud)

尝试:

nmon
Run Code Online (Sandbox Code Playgroud)

输出如下:

在此处输入图片说明

按 d = 磁盘 按 c = CPU 按 r = RAM 按 q 退出

你也可以试试:

iostat
Run Code Online (Sandbox Code Playgroud)

输出如下:

Linux 3.16.0-30-generic (client01)    03/01/2016      _i686_  (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
      39.73   24.58    2.96    0.26    0.00   32.48

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               3.32        57.31        40.05  119879872   83767716
sdb               1.45        15.02        22.60   31424408   47273012
Run Code Online (Sandbox Code Playgroud)


小智 6

像 CPU 的 htop 之类的东西。

atop - AT Computing 的系统和进程监视器

# apt-get install -y atop
# atop
Run Code Online (Sandbox Code Playgroud)

它有一个类似的界面htop

现在按shift+ d- 进行磁盘活动

然后按c- 获取完整的命令名称..

  PID  DSK COMMAND-LINE          
28497  37% /usr/sbin/apache2 -k start
28496  36% /usr/sbin/apache2 -k start
30528  11% mplayer
..........
.....
Run Code Online (Sandbox Code Playgroud)
  • shift+ c- 中央处理器
  • shift+ m- 内存
  • shift+ d- 磁盘
  • shift+ n- 网络(但是,它可能需要内核补丁)


GAD*_*D3R 5

collectl工具还可以发挥仅为特定目的而设计的实用程序的作用,例如toppsiotop许多其他用途。

\n\n

安装:

\n\n
sudo apt-get install collectl\n
Run Code Online (Sandbox Code Playgroud)\n\n

例如,collectl -sc可以使用以下命令来监视 cpu 使用情况的摘要。

\n\n

以下命令collectl -sd将帮助您监控磁盘使用情况。

\n\n

您还可以用于collectl -sD收集单个磁盘上的数据,但您必须知道,不会报告总磁盘上的信息。

\n\n

让collectl作为top实用程序工作非常容易,只需在终端中运行以下命令collectl --top,您就会看到top工具在Linux系统中执行时提供的类似输出。

\n\n

要将 Collectl 实用程序用作 ps 工具,请在终端中运行以下命令:

\n\n

collectl -c1 -sZ -i:1

\n\n

您将获得有关系统中进程的信息,就像ps在终端中运行命令一样。

\n\n

您可以结合tfor tcp 和cfor cpu示例collectl -stc

\n\n

该工具支持的子系统的摘要列表:

\n\n
b \xe2\x80\x93 buddy info (memory fragmentation)\nc \xe2\x80\x93 CPU\nd \xe2\x80\x93 Disk\nf \xe2\x80\x93 NFS V3 Data\ni \xe2\x80\x93 Inode and File System\nj \xe2\x80\x93 Interrupts\nl \xe2\x80\x93 Lustre\nm \xe2\x80\x93 Memory\nn \xe2\x80\x93 Networks\ns \xe2\x80\x93 Sockets\nt \xe2\x80\x93 TCP\nx \xe2\x80\x93 Interconnect\ny \xe2\x80\x93 Slabs (system object caches)\n
Run Code Online (Sandbox Code Playgroud)\n\n

collectl通过石墨或 graphiti 可视化:

\n\n

在此输入图像描述

\n

  • 您介意提供有关如何使用通过石墨或石墨可视化的collectl 的说明吗?看起来很酷! (2认同)