Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 读取大文件末尾的性能_Unix_Solaris 10 - Fatal编程技术网

Unix 读取大文件末尾的性能

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

我需要实现类似于tail-f的东西来读取添加到日志文件中的新行,并处理日志文件的滚动。这是针对Solaris 10的。目前,应用程序每秒检查一次文件的状态,如果文件已更改,则会打开文件,查找接近结尾的位置,并从那里读取到文件的结尾


这一切似乎都很好,但我很好奇当日志文件非常大时会对性能产生什么影响。seek是否真的需要读取整个文件,或者它是否足够聪明,只加载文件的结尾?

lseek在一般情况下使用速度很快,即使对于大型文件也是如此

请参阅手册页中的更多内容

根据特殊情况,它可能会慢下来,但我从未见过那些IRL

手册页: