tail -f обновляется медленно

tail -f обновляется медленно

Я не уверен, почему, но на моем Macbook Pro с Lion я получаю медленные обновления, когда я запускаю "tail -f" для файла журнала, в который выполняется запись. Я использовал эту команду все время в своей последней компании, но это было обычно на машинах Linux. Единственное, что я могу придумать, что могло бы замедлить обновления, это буферизация вывода и/или, может быть, разный интервал обновления на Mac по сравнению с Linux. Я пробовал с несколькими командами, все из которых пишут в Stout относительно быстро, но дают медленные обновления для команды tail. Есть идеи?

Обновлять Я просто запускаю скрипт Python с кучей выводов в нем и перенаправляю в файл vi "> my output.log. Я ожидаю видеть обновления практически в режиме реального времени, но, похоже, это не так.

решение1

Система ожидает большего терпения от файловой системы, чем от среднестатистического пользователя, сидящего за консолью, и буферизует вывод, не отправляя его на терминал. Кроме того, терминалы лучше подходят для обработки строк на входе, чем файловые системы, которые всегда работают с блоками. Сброс результата после каждой строки влияет на производительность, но это может не быть проблемой для вашего варианта использования.

Чтобы отключить буферизацию, вы можете запустить скрипт с помощью python -u SCRIPTили использовать unbufferиз пакета expect (который может быть недоступен для Mac).

решение2

Это может быть причиной, указанной в этом URL:https://anto.online/guides/solving-the-tail-inotify-resources-exhausted-error-on-ubuntu/

Связанный контент