2017-01-12 5 views
0

Я загружаю большой файл с wget, который я побежал в фоновом режиме с wget -bqc. Я хотел бы видеть, сколько из файла был загружен, поэтому я побежалКак оценивать размер файла?

du -sh *

в каталоге. (Мне также было бы интересно узнать лучший способ проверить прогресс wget в этом случае, если кто-нибудь знает ...) Я увидел, что 25 ГБ были загружены, но для нескольких попыток впоследствии он показал тот же результат 25 ГБ. Меня беспокоило, что дю каким-то образом вмешался в загрузку до тех пор, пока du не показал результат 33 ГБ, а затем 40 ГБ.

В поиске stackoverflow и в Интернете я не нашел, можно ли использовать du на записываемых файлах, но я видел, что это лишь приблизительная оценка. Тем не менее, 7-8 ГБ, похоже, много, особенно потому, что это один файл, а не дерево каталогов, что, по-видимому, вызывает ошибки в оценке. Мне было бы интересно узнать, как это делает эту оценку для одного файла, который пишется и почему я увижу этот результат.

ответ

0

Операционная система должна гарантировать безопасный доступ.

0 ничего не оценивает. ядро знает размер файла, и когда он спрашивает об этом, это то, чему он учится.

Если файл находится в диапазоне от гигабайт, а размер отчета указан только с этой детализацией, не должно быть неожиданностью, что последовательные вызовы показывают одинаковый размер - вы ожидаете, что wget получит достаточно данных для переключения на другой гигабайт между вашими чеками? Вы можете попробовать запустить du без sh, чтобы получить более точное чтение.

Также wget будет хранить некоторое количество данных в памяти, но это должно быть незначительным.

+0

Спасибо за ответ! Как правило, это касается безопасного доступа, когда речь заходит о файлах, которые записываются в утилиты unix? например кот, меньше, голова? Кажется, что файл загружается со скоростью около 1 ГБ в минуту, немного быстрее, но размер отчета не превышал 1 ГБ, как я проверял, а скорее увеличился примерно на 8 ГБ. – kiliantics

+0

@kiliantics "безопасный доступ" вводит в заблуждение. Каждое чтение в обычном файле «безопасно», файл не затрагивается (кроме последнего времени доступа). Это более верно для ls (1) и компании, которая даже не заботится о содержимом файла. – linuxfan

+0

В принципе, может быть, что wget ждал, как правило, долгое время, прежде чем записывать извлеченную часть файла, другой вариант заключается в том, что ваша скорость передачи сильно меняется. И еще одно: вы запускали du ​​на другой машине, а файл загружался на долю nfs. В любом случае, здесь есть что-то отрывочное. И в любом случае, «du» не мешает загрузке. –

Смежные вопросы