Tente envolver seu comando tail com strace
se você tiver:
strace -Tt -o /tmp/tail.trace tail -f /var/log/messages
Então, apenas para chutes recursivos malucos, você pode ajustar a saída da strace (não importa se isso é interrompido porque está indo para um arquivo):
tail -f /tmp/tail.trace
Parece o meu:
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,
O -t liga a hora e -T muda o tempo gasto em chamadas.
Pressione 4 ou 5 vezes para fazer um pouco de espaço vertical, depois espere que ele pare de seguir. Espero que haja algumas pistas na saída.