持续的硬盘访问——减慢我的机器速度

持续的硬盘访问——减慢我的机器速度

我从机器正面的硬盘访问 LED 上发现硬盘被访问得更频繁,可能正因为如此,我的机器很慢。即使从w命令中看到的负载约为 1 左右,机器也会变得无响应。

我的桌面是运行 Ubuntu 10.04 的 optiplex 360 dell 机器。

编辑

$free 的输出

           total       used       free     shared    buffers     cached
Mem:       3983388    3414860     568528          0     205640     315048
-/+ buffers/cache:    2894172    1089216
Swap:      3999736    1035244    2964492

$vmstat 的输出

    procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
1  2 1035420 564228 210144 312896   22    8   325   343   18   14  3  3 84 10

我的问题是:

  1. 如何量化硬盘访问以及如何查看它是否超过“正常”?
  2. 如果超出正常水平,我该如何解决?

谢谢

苏雷什

答案1

对我来说,我更喜欢使用sar如果它安装在你的系统上,如果没有,就安装它。在 CentOS 上,它应该是 th 包sysstat。对于每个给定的间隔,它会告诉你你的处理器正在做什么。以下是一些示例输出:

07:10:35 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:10:36 AM     all      0.06      0.00      0.06      0.00      0.00     99.88
07:10:37 AM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:10:38 AM     all      0.00      0.00      0.06      0.00      0.00     99.94

%iowait列会告诉您实际花费在 I/O 上的时间,例如读取和写入磁盘。我发现,大多数情况下,在运行良好的系统上,该时间可能停留在 0% 左右,但在较繁忙的系统上,该时间可能停留在 20% 左右,然后才会真正产生巨大影响。当然,“正常”是相对的。这将帮助您了解您的系统。

追踪 I/O 时,一个有用的工具是iotop。它的工作原理与 类似top,但针对 I/O,您可以看到导致 I/O 的原因。正如之前发布的那样,I/O 的最常见原因之一实际上是高 RAM 使用率(即交换),因此您可能还想搜索高 RAM 进程。您可以使用 将其缩小到高用户sa -cmik

相关内容