Unix 读取大文件末尾的性能
我需要实现类似于tail-f的东西来读取添加到日志文件中的新行,并处理日志文件的滚动。这是针对Solaris 10的。目前,应用程序每秒检查一次文件的状态,如果文件已更改,则会打开文件,查找接近结尾的位置,并从那里读取到文件的结尾Unix 读取大文件末尾的性能,unix,solaris-10,Unix,Solaris 10,我需要实现类似于tail-f的东西来读取添加到日志文件中的新行,并处理日志文件的滚动。这是针对Solaris 10的。目前,应用程序每秒检查一次文件的状态,如果文件已更改,则会打开文件,查找接近结尾的位置,并从那里读取到文件的结尾 这一切似乎都很好,但我很好奇当日志文件非常大时会对性能产生什么影响。seek是否真的需要读取整个文件,或者它是否足够聪明,只加载文件的结尾?lseek在一般情况下使用速度很快,即使对于大型文件也是如此 请参阅手册页中的更多内容 根据特殊情况,它可能会慢下来,但我从未见
这一切似乎都很好,但我很好奇当日志文件非常大时会对性能产生什么影响。seek是否真的需要读取整个文件,或者它是否足够聪明,只加载文件的结尾?lseek在一般情况下使用速度很快,即使对于大型文件也是如此 请参阅手册页中的更多内容 根据特殊情况,它可能会慢下来,但我从未见过那些IRL 手册页: