显示短时间内访问次数最多的文件

显示短时间内访问次数最多的文件

所以我的服务器在安装多个 Wordpress 的压力下苦苦挣扎。缓存相对较好(我计划改进缓存),但我很快就发现磁盘 IO 非常高。

我以前经常iotop看到磁盘上主要是 PHP 发出的警报,但我真的很想知道哪些文件。我觉得如果我知道这一点,我可能就能发现其他问题或找到可以扩大的瓶颈(将东西移动到内存磁盘等)。

因此,我正在寻找一个命令,它可以为我提供打开的文件列表,这些文件按命令开始以来的 IO 进行排序。或者在固定时间段内(例如 60 秒)运行的命令。

笔记:我寻找的不仅仅是lsof——我需要按总 IO 吞吐量排序的输出。

答案1

尝试inotifywatch

从手册页中:

% inotifywatch -v -e access -e modify -t 60 -r ~/.beagle
Establishing watches...
Setting up watch(es) on /home/rohan/.beagle
OK, /home/rohan/.beagle is now being watched.
Total of 302 watches.
Finished establishing watches, now collecting statistics.
Will listen for events for 60 seconds.
total  access  modify  filename
1436   1074    362     /home/rohan/.beagle/Indexes/FileSystemIndex/PrimaryIndex/
1323   1053    270     /home/rohan/.beagle/Indexes/FileSystemIndex/SecondaryIndex/
303    116     187     /home/rohan/.beagle/Indexes/KMailIndex/PrimaryIndex/
261    74      187     /home/rohan/.beagle/TextCache/
206    0       206     /home/rohan/.beagle/Log/
42     0       42      /home/rohan/.beagle/Indexes/FileSystemIndex/Locks/
18     6       12      /home/rohan/.beagle/Indexes/FileSystemIndex/
12     0       12      /home/rohan/.beagle/Indexes/KMailIndex/Locks/
3      0       3       /home/rohan/.beagle/TextCache/54/
3      0       3       /home/rohan/.beagle/TextCache/bc/
3      0       3       /home/rohan/.beagle/TextCache/20/
3      0       3       /home/rohan/.beagle/TextCache/62/
2      2       0       /home/rohan/.beagle/Indexes/KMailIndex/SecondaryIndex/

相关内容