监控硬盘活动

监控硬盘活动

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

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

答案1

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

sudo apt-get install iotop

然后使用 root 权限启动它:

sudo iotop --only

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

终端中 iotop 的图像

答案2

你可以试试尼蒙

sudo apt-get install nmon

尝试:

nmon

输出如下:

在此输入图像描述

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

您还可以尝试:

iostat

输出如下:

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

答案3

类似 CPU 的 htop 之类的东西。

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

# apt-get install -y atop
# atop

它具有与 类似的界面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
..........
.....
  • shift+ c- 中央处理器
  • shift+ m- 内存
  • shift+ d- 磁盘
  • shift+ n- 网络(但是,可能需要内核补丁)

答案4

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

安装:

sudo apt-get install collectl

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

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

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

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

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

collectl -c1 -sZ -i:1

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

您可以将tfor tcp 和cfor结合起来中央处理器例子collectl -stc

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

b – buddy info (memory fragmentation)
c – CPU
d – Disk
f – NFS V3 Data
i – Inode and File System
j – Interrupts
l – Lustre
m – Memory
n – Networks
s – Sockets
t – TCP
x – Interconnect
y – Slabs (system object caches)

collectl通过石墨或 graphiti 可视化:

在此输入图像描述

相关内容