Я в настоящее время копирую большое количество файлов по сети. Для контроля прогресса я пытался работать watch du
. Однако вывод никогда не изменялся (или не очень, не уверенный). find . -type f | wc -l
всегда дает мне то же количество файлов, как делает ls -R
.
Это кажется, эти программы кэширование использования, которое является, в целом, хорошей вещью. Кто-либо знает, тем не менее, как использованием кэша можно было управлять?
Я нахожусь в системе Archlinux, и я работаю над ext4 фс на зашифрованном HD.
Спасибо
ls и друзья не кэшируют их результаты. Вместо этого я подозреваю вывод du
просто изменения медленно. (Из-за пути Ваша передача программного обеспечения играет с открытыми дескрипторами файлов). Можно также попытаться отбросить кэш файловой системы в целом, хотя я не думаю, что он имеет много смысла здесь: echo 1 | sudo tee /proc/sys/vm/drop_caches
Для лучшего способа отследить прогресс, необходимо использовать rsync для передачи и дать ему флаг-P, который заставляет его распечатать прогресс стандартного вывода.
Можно попробовать unbuffer
сценарий, который идет expect
.
Вот представление CVS самого освобождать буфер сценария. Обманчиво простой.
Другая опция для передачи данных мониторинга pv
.
Для контроля действия, Вы могли использовать iotop в сочетании с bwm-ng. iotop, поскольку имя предлагает ввод/вывод мониторов. bwm-ng контролирует сетевые интерфейсы.
Если Вы хотите более 'необработанный' подход, просто смотрите на числа в/proc/net/dev
Оба вышеупомянутых инструмента доступны на АУРЕ, так как Вы упомянули, что Вы - пользователь ArchLinux.