非常大的日志文件(syslog、kern.log)

非常大的日志文件(syslog、kern.log)

我收到警告,说我的磁盘空间只剩下 38 MB。原因似乎是两个巨大的日志文件:syslog.1 和 kern.log.1,每个文件都有 388 GB。

我最近才安装 Linux Pop!OS,所以我的系统很新。在问题发生之前,我做了两件事,这可能导致了这个问题:

  1. 我更新了系统。
  2. 我尝试使用 DVD 和 Lutris 安装游戏(Alpha Protocol)。安装似乎在第一张 DVD 上冻结。过了一会儿,游戏要求使用第二张 DVD。进入第二张 DVD 后,安装似乎再次冻结。几个小时后,除了磁盘空间不足的警告外,什么也没有发生。我无法停止安装,所以我重新启动了计算机。

我想知道以下几点:

  1. 我该怎么做才能找出问题所在?
  2. 我怎样才能缩小这些文件?
  3. 有没有可能阻止这种情况再次发生?我想尝试再次安装游戏,但我不想冒险因磁盘空间不足而导致系统崩溃。

我一生都是 Microsoft Windows 用户,因此对 Linux 一无所知。因此,需要以一种外行人都能理解的方式给出答案。


本网站上还有其他几个与此问题有关的问题。但由于各种原因,它们对我没有帮助。例如

日志文件非常大,我该怎么办?

  • 被接受的答案有一个评论,这让我不确定作为一个不真正知道自己在做什么的人使用这个答案是否明智:“这个答案没有充分描述你应该用 lastlog、wtmp、dpkg.log、kern.log 和 syslog 做什么。”
  • 我不认为接受的答案可以防止问题再次发生或者让我找到这种行为的原因。
  • 其他答案中的命令tail -n 100 /var/log/syslog没有产生输出,无法帮助我找出问题所在。还有一个更长的命令
for log in /var/log/{dmesg,syslog,kern.log}; do 
 echo "${log} :"
 sed -e 's/\[[^]]\+\]//' -e 's/.*[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//' ${log} \
 | sort | uniq -c | sort -hr | head -10
done

我不明白它在做什么。另外,我不知道它是否会生成文件副本,或者是否会对我已经快满的硬盘造成问题。

https://stackoverflow.com/questions/35638219/ubuntu-large-syslog-and-kern-log-files

  • 得票最高的答案似乎批评了被接受的答案。批评点之一是日志文件被删除了。但是,我不确定得票最高的答案是否也是如此。

答案1

  • PopOS 在这里与主题无关,但问题并不
  • 通常,logrotate 会将大型日志文件移到一边。如果您的日志文件已命名,则syslog.1这已经发生。在下一次轮换时,它可能会被压缩。如果有空间,您可以立即手动压缩它。(通常gzip -9用于此。)
  • 确定日志文件为何如此之大的唯​​一方法是查看其内容并查看其中的错误。这些错误可能是暂时的,可能不会再次发生,也可能是您可以通过调整 rsyslog 配置来修复、消除或移动到另一个日志文件的错误。
  • 在紧急情况下,由于日志文件已经轮换,您可以直接删除它。如果您仍想分析它,您可以先将其复制到其他地方(有更多空间)。假设您无法压缩它。
  • 查看syslog.1并确定主要因素后,您应该查看syslog(即当前实时日志文件)并查看它是否仍在抱怨。
  • 您粘贴的复杂for log...命令会检查最常见的实时系统日志文件,删除消息中最常见的变量部分,然后对剩余部分进行排序和计数,然后列出每个日志文件的前十条最常见消息。(它会将其打印到屏幕上,不会保存任何内容。)正如所写,这只会查看当前的实时日志文件,而不是轮换的日志文件,因此它可能会错过您的问题。您可以从中提取 sed 行并替换${log}syslog.1...,或者您可以使用 less 并直接查看 syslog.1。

相关内容