Попробуйте это:
find /source/directory -type f -maxdepth 1 -print | tail -100 | xargs -J % mv % /other/location/
Ну, Вы могли попробовать следующие команды, которые работали на меня в RHEL6:
1) Безотносительно устройства Вы видите в выводе "iostat", выполняющем больше ввода-вывода, используете его с fuser
команда следующим образом:
fuser -uvm device
2) Вы получите список процессов с именем пользователя, вызывающим больше ввода-вывода. Выберите те PIDS и используйте его в lsof
команда следующим образом:
lsof -p PID | more
3) Вы получите список файлов/каталогов вместе с пользователем, выполняющим максимальный ввод-вывод.
Кажется, что нет никаких инструментов для обнаружения пропускной способности ввода-вывода на файл кроме в рамках процесса с помощью файла. Но существуют способы узнать, обрабатывают пропускную способность ввода-вывода.
iotop - Это - top/iftop как утилита, которые показывают процессу пропускную способность ввода-вывода.
После контакта, указывающего, какой процесс имеет тяжелый ввод-вывод, используйте следующее для обнаружения, какой файл используется
lsof -c <process name>
Это должно сузить объем, и контакт справки указывают на источник.
iotop
, нет iostat
. Я исправил свой ответ.
– John Siu
06.01.2013, 06:50
Используйте systemtap для отслеживания каждого системного вызова write / pwrite. Вы можете провести некоторые подсчеты, и вы увидите, какой файл / fd получает больше всего байтов.
Вы можете использовать inotifywait
из inotify-tools
, чтобы точно узнать, в какой файл выполняется запись. Это не скажет вам, сколько данных записывается, но, по крайней мере, скажет вам, какие файлы записываются, когда это происходит.
В качестве примера, эта команда будет печатать имя файла, как только он будет создан, изменен или удален в / tmp
:
$ sudo inotifywait -e modify -e attrib -e move -e create -e delete -m -r /tmp
Setting up watches. Beware: since -r was given, this may take a while!
Watches established.
/tmp/ CREATE test
/tmp/ MODIFY test
К сожалению, вам нужно будет угадать, в каком каталоге находятся файлы, которые будут написано. Это не сработает, если вы попытаетесь использовать его в корневом каталоге, хотя, очевидно, это можно переопределить:
$ sudo inotifywait -e modify -e attrib -e move -e create -e delete -m -r /
Setting up watches. Beware: since -r was given, this may take a while!
Failed to watch /; upper limit on inotify watches reached!
Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/inotify/max_user_watches'.