我如何查看超过1GB的日志文件

我有一个512MB RAM的Linux服务器,没有交换。 我如何查看1GB文件?

你可以使用拆分。

除了头部和尾部之外,另一个有用的工具是拆分的 。

把这个1GB文件切成一堆小文件。

我认为“less”或“更多”在这里工作得很好。 或者您可以使用下面的Perl脚本来做到这一点,只需更改日志文件名称:

#!/usr/bin/perl open LOGFILE, "<log_file" or die "log_file: $!"; my $i=0; while(<LOGFILE>) { if($i>=25) { $i=0; print "Press Enter to see more..."; <>; } else { print; $i++; } } close LOG_FILE; 

Emacs,如果你需要修改文件,vim可以做到这一点。 否则,“less”就可以做到。

大多数“好”的编辑器都不会在内存中加载完整的文件。

就我个人而言,我会采取创build日志的过程,停止它,重命名日志,触摸旧的文件名来创build一个新的日志,然后重新启动过程。

将日志文件移动到另一台机器,以便我可以分析它,存储它,不pipe需要做什么。

在那台机器上,我会使用Linux Split命令将文件分割成更小,更易于pipe理的块。

从中获取我需要的信息,然后在完成时删除它。

您的服务器可能会感谢您获得更多空间。 您可能想要在服务器本身上configurationlogrotate来帮助进行空间pipe理。 你已经拥有了服务器的机会是相当不错的。

请确保在父进程仍在运行时不要使用日志文件,否则可能会产生一些愚蠢的副作用。

将日志文件下载到具有更多RAM的另一台计算机。

无论如何,您不会需要生产服务器上的大量日志。

如果它尚未configuration,请查看logrotate。

这个Linux没有perl。 下载日志文件到另一台PC是不是解决scheme。 我用“头”和“尾”来解决这个问题。