Итак, у меня есть сервер, который борется под тяжестью нескольких установок Wordpress. Вещи относительно хорошо кешируются (в любом случае я планирую что-то улучшить), но я быстро вижу, что дисковый ввод-вывод чрезвычайно высок.
Я использовал iotop
, чтобы увидеть, что это в основном PHP гудит на диске, но мне бы очень хотелось знать , какие файлы . Я чувствую, что если бы я знал это, я мог бы обнаружить дополнительные проблемы или найти узкое место, которое можно было бы расширить (переместить материал на ram-диск и т. Д.).
Итак, я ищу команду, которая выдаст мне список открытых файлов, ранжированных по их IO за время, прошедшее с момента запуска команды. Или что-то, что работает в течение установленного периода, например, 60 секунд.
Примечание: Я ищу больше, чем lsof
- мне нужен выход, ранжированный по общей пропускной способности ввода-вывода.
Попробуйте 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/