
Я не уверен, почему, но на моем 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/