linux – 确定Inode使用的位置

前端之家收集整理的这篇文章主要介绍了linux – 确定Inode使用的位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近在开发Web服务器上安装了Munin来跟踪系统使用情况.我已经注意到系统的inode使用量每天增加大约7-8%,即使磁盘使用量几乎没有增加.我猜是有些东西正在写大量的小文件,但我无法找到/在哪里.

我知道如何查找磁盘空间使用情况,但我似乎无法找到总结inode使用情况的方法.

是否有一种很好的方法来确定目录的inode使用情况,以便找到使用的来源?

解决方法

不要指望这个快速运行……

cd到您怀疑可能存在包含大量inode的子目录的目录.如果此脚本花费大量时间,您可能会在文件系统中找到要查找的位置. / var是一个好的开始……

否则,如果您切换到该文件系统中的顶级目录并运行它并等待它完成,您将找到包含所有inode的目录.

find . -type d | 
while 
  read line  
do 
  echo "$( find "$line" -maxdepth 1 | wc -l) $line"  
done | 
sort -rn | less

我并不担心分拣的成本.我运行了一个测试并对未分类输出进行排序,对350,000个目录进行了8秒.最初的发现花了.实际成本是在while循环中打开所有这些目录. (循环本身需要22秒). (测试数据在一个包含350,000个目录的子目录上运行,其中一个目录有一百万个文件,其余的目录在1到15个目录之间).

不同的人都指出ls并不是很好,因为它对产量进行了分类.我试过回声,但这也不是很好.其他人指出stat提供了这个信息(目录条目数),但它不可移植.事实证明,找到-maxdepth在打开目录和计算.files方面真的很快,所以……这里是每个人的点数!

原文链接:https://www.f2er.com/linux/402004.html

猜你在找的Linux相关文章