Попытайтесь перенести свою команду хвоста с strace
если у Вас есть он:
strace -Tt -o /tmp/tail.trace tail -f /var/log/messages
Затем только для сумасшедших рекурсивных ударов можно выследить вывод strace (' не имеет значения, повреждается ли это потому что его выход в файл):
tail -f /tmp/tail.trace
Мой похож:
8:39:00 write(1, "ng SMAC\n", 8) = 8 <0.000026>
18:39:00 read(3, "", 0) = 0 <0.000019>
18:39:00 fstat64(3, {st_mode=S_IFREG|0640, st_size=92990, ...}) = 0 <0.000019>
18:39:00 fstatfs64(3, 84, {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=4807069, f_bfree=1924458, f_bavail=1680271, f_files=1221600, f_ffree=820806, f_fsid={-1331083162, -1313908385}, f_namelen=255, f_frsize=4096}) = 0 <0.000021>
18:39:00 inotify_init() = 4 <0.000033>
18:39:00 inotify_add_watch(4, "/var/log/messages", IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = 1 <0.000041>
18:39:00 fstat64(3, {st_mode=S_IFREG|0640, st_size=92990, ...}) = 0 <0.000019>
18:39:00 read(4,
-t включает время и переключатели-T, вовремя потраченные в вызовах.
Возврат хита 4 или 5 раз для создания небольшого количества вертикального пространства затем ожидайте его, чтобы прекратить выслеживать. Надо надеяться, в выводе будут некоторые подсказки.
Учитывая, что оба проблематичных файла журнала записаны различными компонентами того же приложения, интересно, не является ли это некоторая часть регистрирующегося кода для того приложения, это вызывает проблему. Я предлагаю два теста для получения лучшее представление о том, что продолжается:
Отметьте inode файла журнала (ls -i logfile
) до запуска хвоста, и после того как перестал работать хвост, проверьте его снова. Если inode изменился, то регистратор переписывает весь файл журнала, который повредил бы соединение хвоста.
Отметьте последнюю строку, прежде чем хвост прекратит работать, и затем посетите файл и найдите первую запись в журнале после той строки. Сделайте это 3-5 раз, если это возможно. Если это - проблема с программой, делающей вход, часть программы, которая сразу записала запись в журнале после того, как Вы видите, хвост повредиться, скорее всего, ответственен. Если та запись в журнале всегда является тем же, или если это прибывает из того же компонента программы, у Вас может быть достаточно данных для представления проблемного отчета поставщику приложений.
Удачи.
Та же проблема.
Проблема заключалась в том, что просматриваемый мной файл был смонтирован с другой машины. Уведомление об изменении не распространялось через крепление.
Решение заключалось в использовании хвоста на исходной машине.