Xargs та Wget перестають працювати через годину


8

Запуск сценарію з Cygwin на Windows XP з двоядерним процесором та 4 ГБ оперативної пам’яті

cat url_list.txt | xargs -P50 wget -i

Я намагаюся трал через 4 Гб в URL для скачування (близько 43 мільйонів)

Працює нормально близько першої години, потім оболонка Bash і завантаження зупиняються, хоча її лише 2% через список URL-адрес.

Будь-які ідеї, що може бути неправильним?

Який найкращий спосіб налагодження, чому це припиняється через годину?

Відповіді:


2

Можливо, Wget потребує часу, щоб завантажити деякі файли. Чи є якісь процеси wget / xargs в пам'яті протягом періоду, який, здається, підвішений? Якщо так, то чи є цілі 50 процесів, які ви виділили прапором -P50 xargs, чи він якимось чином переповз над цим числом або менше, ніж це число, і нові екземпляри не створюються належним чином? Хоча він працює під cygwin, подивіться на список процесів у самих Windows, оскільки кожна завантажена wget повинна запускати екземпляр у диспетчері завдань.


0

Я припускаю, що URL-адреси призначені для різних сайтів. У такому випадку ви можете потрапити на сайти, які повільно реагують, і на яких буде висіти один із ваших віджетів. Оскільки у вас працює 50, вам доведеться потрапити на 50 з цих сайтів, перш ніж нічого не станеться.

Щоб переконатися, що це так, спробуйте вбити одного з підвісних вигтів і побачити, чи він потім відклеюється.

Щоб пропустити висячі URL-адреси, ви можете дати тайм-ауту wget:

wget -T 60
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.