0
我需要实现类似于tail -f的操作来读取添加到日志文件的新行并处理日志文件翻转。这适用于Solaris 10.目前,应用程序每秒都会检查文件的状态,如果文件已更改,则会打开文件,尝试接近结尾并从文件末尾读取文件。大文件的性能读取结束
这一切似乎工作正常,但我很好奇日志文件非常大时的性能影响。实际上是否需要通读整个文件,还是足够聪明才能加载文件的结尾?
我需要实现类似于tail -f的操作来读取添加到日志文件的新行并处理日志文件翻转。这适用于Solaris 10.目前,应用程序每秒都会检查文件的状态,如果文件已更改,则会打开文件,尝试接近结尾并从文件末尾读取文件。大文件的性能读取结束
这一切似乎工作正常,但我很好奇日志文件非常大时的性能影响。实际上是否需要通读整个文件,还是足够聪明才能加载文件的结尾?
lseek在一般用途中速度很快,即使对于大型文件也是如此。
查看更多的手册页。
根据特殊情况,它可能会减慢,但我从来没有见过那些IRL。