文件操作速度非常慢

文件操作速度非常慢

我最近用 Centos 5.8 用全新磁盘重建了一台机器。这台机器很旧,已经运行了很长一段时间的 5.8,没有任何问题,所以最近唯一改变的是新的更大的磁盘。然而,由于机器是用新磁盘重建的,因此所有文件操作都非常慢。

我对操作系统管理知识的了解非常有限,如果有人能指出我应该在哪里寻找根本原因,我将不胜感激。我可以使用哪些命令或实用程序?

这台机器上运行着一个基于 java 的备份程序,它不断地从磁盘读取数据,但在重建之前,该机器上也运行着相同的程序,并且在该程序始终运行的情况下,机器已经运行良好近 2 年了。但现在机器不太好用,连备份程序都在爬行。

这是 iostat 命令的输出:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.67    0.41    1.70   52.66    0.00   44.56

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              24.87       197.21        53.98  238224706   65205070
sda1              0.00         0.00         0.00       2266         14
sda2             24.87       197.21        53.98  238222160   65205056
sdb              91.76       138.66       903.42  167496875 1091305280
sdb1             91.76       138.66       903.42  167496635 1091305280
dm-0            157.98       335.87       957.40  405716746 1156511560
dm-1              0.00         0.00         0.00       1376        216

这是 iotop 命令的片段:

 8723 be/4 root        0.00 B/s    0.00 B/s  0.00 % 98.49 % [pdflush]
  588 be/3 root        0.00 B/s    0.00 B/s  0.00 % 75.71 % [kjournald]
    8 be/3 root        0.00 B/s    0.00 B/s  0.00 %  5.19 % [events/0]
13161 be/4 root        0.00 B/s    0.00 B/s  0.00 %  1.25 % java -Dfile.encoding=UTF-8 -Dapp=CrashPla~ang:./skin com.backup42.desktop.CPDesktop
10668 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.63 % artsd -F 10 -S 4096 -s 60 -m artsmessage -l 3 -f
16681 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.09 % sshd: root [priv]
 3792 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.09 % python -E /usr/bin/sealert -s
13060 be/7 root        0.00 B/s    0.00 B/s  0.00 %  0.09 % java -Dfile.encoding=UTF-8 -Dapp=CrashPla~hplan/lang com.backup42.service.CPService
13141 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % java -Dfile.encoding=UTF-8 -Dapp=CrashPla~ang:./skin com.backup42.desktop.CPDesktop
10672 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % artsmessage -i Sound server informational~l continue, using the null output device.
13049 be/7 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % java -Dfile.encoding=UTF-8 -Dapp=CrashPla~hplan/lang com.backup42.service.CPService
13162 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % java -Dfile.encoding=UTF-8 -Dapp=CrashPla~ang:./skin com.backup42.desktop.CPDeskto

虽然我不知道在这里寻找什么..

更新#1

这是终止 crashplan 后 iotop 的输出。这个“rsync”进程是什么?我没有在机器上运行任何 rsync。看起来“updatedb”和“rsynch”用完了所有 IO。

Total DISK READ: 124.78 K/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
20772 be/7 root       14.68 K/s    7.34 K/s  0.00 % 99.99 % updatedb -f sysfs
17446 be/4 root      110.10 K/s    0.00 B/s  0.00 % 92.75 % [rsync]
  155 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.09 % [kacpid]
20214 be/4 root        0.00 B/s    0.00 B/s 92.75 %  0.09 % bash /usr/bin/run-parts /etc/cron.daily
  264 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [cqueue/0]
20767 be/7 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % sh /etc/cron.daily/mlocate.cron
20213 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % crond

iostat 的输出:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.15    0.41    2.91   53.18    0.00   42.36

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              25.00       197.88        86.24  254108937  110753694
sda1              0.00         0.00         0.00       2431         14
sda2             25.00       197.87        86.24  254104429  110753680
sdb              92.12       141.39      2951.64  181571178 3790455360
sdb1             92.12       141.39      2951.64  181570594 3790455360
dm-0            418.25       339.26      3037.88  435672794 3901209424
dm-1              0.00         0.00         0.00       1376        216

相关内容