linux – rm间歇性地导致磁盘锁定

我现在在两台服务器上遇到了这个非常奇怪的问题,它们都运行CentOS5,两者都是ext4.一个是SSD,另一个是普通硬盘,两个SATA都没有RAID.

问题如下,当我在具有大量子目录(> 1000)的目录上运行rm -r时,其中每个子目录具有大量文件(> 1000),这些目录所在的磁盘将锁定间歇.

这可以通过顶部看到.通常,rm命令的CPU使用率约为50-60%,但突然之间,它将在10-15秒内降至零,然后在3-4秒内返回50-60%,然后再次降至零.在rm命令处于0%cpu的时间内,即使是有问题的驱动器上的ls这样的简单命令也会挂起,并且在rm再次以50-60%运行之前不会显示任何内容.

当rm以0%运行时,在顶部,我也得到0.0%wa.

可以想象,这种不断挂起的磁盘使处理速度极慢.我对于将它归咎于坏磁盘犹豫不决,因为我现在已经在两个不同的系统上看到了这种行为.

有人有什么想法吗?

编辑:还想指出当rm在0.0%cpu运行时,jbd2 / sdc1-8仍然在有问题的磁盘上处于活动状态.

解决方法

不是解决方案,而是解决方法:您可以使用ionice -c3启动rm.如果您可以重现此问题,可以使用strace -tt -o rm.strace rm跟踪它…并联系ext4开发人员.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...