如何找到写入次数最多和/或周转次数最多的目录(写入和删除)

如何找到写入次数最多和/或周转次数最多的目录(写入和删除)

在Linux下有没有办法找出频繁写入和/或删除的目录?

我正在使用 Ubuntu,最近买了 SSD。我将 /tmp 移至 ramdisk,并做了一些其他调整以避免磨损。但我想知道是否有办法精确定位文件系统中经常写入文件的热点。例如,每分钟都会有很多附加内容的 Web 服务器日志目录或用户下载目录,用户下载了数 GB 的内容,但下载完成后很快就被移至其他地方。

我偶然发现了inotify一个可能可行的方法,但它似乎需要大量的脚本,而我对此不太熟悉:-/

答案1

审计子系统可以告诉您哪些文件被访问得最多。

答案2

经过一番谷歌搜索和摆弄后,我偶然发现了使用 inotify 的很好例子在 IBM developerWorks 上。示例应用程序可能比较粗糙,但基本上满足了我的需要。我想我会从它开始,完善一些细节,比如递归扫描,让它更简洁,添加点击计数器等。

答案3

哪些文件被访问最多并不会帮助你确定 SSD 的哪些部分磨损最严重,因为文件移动得很多……不仅如此,大多数闪存和 SSD 产品都实现了磨损均衡移动写入频繁的块,这样驱动器的一部分就不会先于另一部分磨损。

答案4

查找过去一天写入了哪些文件:(find / -xdev -mtime -2元数据更新存在一些误报)。如果您有增量备份(类似 rsync),您可以查看哪些文件需要重新发送。

相关内容