linux-du命令运行时间过长

前端之家收集整理的这篇文章主要介绍了linux-du命令运行时间过长前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在各种目录中运行du -sh来查找磁盘.我有两个相同的服务器(戴尔PE2850s),都使用RHEL5,在一台服务器上运行du需要相当长的时间.

例如,在服务器A(其中大约有25 GB)上执行du -sh / opt / foobar需要5分钟,而在服务器B上,具有相同数据量的相同命令将几乎立即报告给我.在跑顶等时我没有看到任何明显的东西.

任何意见是极大的赞赏.

解决方法

如果该目录中有大量文件且目录内容不断变化,则目录条目本身会随着时间的推移而变得碎片化.然后当操作系统读取目录内容时,将会有大量不必要的磁盘搜索.这种情况尤其发生在ext *文件系统(虽然ext4可能更好)和旧的ReiserFS v3.x文件系统(如果它已经超过85%左右).

解决方案非常简单:

cp -pr origdir newdir
mv origdir origdir.bak
mv newdir origdir

当然,如果所有内容都缓存在RAM中,那么这并不重要;通常Linux会非常积极地缓存经常访问的文件和目录.如果你真的想要将这些目录的内容保存在RAM中,你可以将类似ls -lah / your / dir 2>& 1> / dev / null的内容放到你的cron中.

编辑:哦,有一件事出现在我的脑海里.如果您的服务器有备用电池的RAID控制器,其中包含一些缓存,请检查电池是否正常.我已经看到电池耗尽的情况,控制器完全禁用了缓存,破坏了性能非常糟糕.例如,HP服务器可能会在iLO日志中告知有关控制器电池的信息;在实际的服务器运行状况仪表板中,一切似乎都很好,绿色,但只有日志条目会告诉你这一点.

猜你在找的Linux相关文章