系统崩溃-syslog中的奇怪字符


11

我有一台小型服务器,用于测试和编程。目前,它以4.14.0-0.bpo.3-amd64内核运行Debian 9.4 Stretch

今天,我尝试通过SSH进行连接,但之后无法尝试ping通,并且无法访问。因此,我必须通过拔下电源线来重新启动它。然后我去了 /var/log/syslog ,发现一条奇怪的行,其中包含正好6140个字符,如下所示

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

然后什么都没有,直到系统的新日志条目重新启动。这实际上是第一次。

有人知道会是什么吗?



1
@JdeBP我更喜欢您的第一个答案/链接,确实如此。奇怪的问题是您有1500多次访问,而您没有一次投票(+1)。
Rui F Ribeiro

Answers:


14

您向我们显示的全零的syslog文件内容确实是文件系统/ syslog写入的损坏。

您的系统崩溃导致系统在中间写入syslog文件,这就是最终结果。

多年来,这种情况已经在Linux VM中发生过多次,在Raspberry和Banana Pis中发生过几次。

没有什么可以困扰(太多)或浪费大量时间来调查为什么要在一次活动中使用它的。我会更担心找出它崩溃的原因,特别是如果它是正常事件。

PS进入轶事领域,上次我在Banana Pi R1中定期发生这种情况时,我设法将原因归结为一个(有问题的)realtek wifi芯片组。


4
还值得注意的是,它^@是NUL字节(字节值0),因此它是“空”数据,偶然被附加到日志文件中。例如,当在文件末尾分配了一个新的空块,但是该块中有意义的数据实际占用的字节数没有正确更新时,可能会发生这种情况(因为崩溃/硬复位发生在该计数器被删除之前)致力于驱动器)。
marcelm

如何找出崩溃的原因?
Apartico的首席执行官,19年

@CEOatApartico我建议打开一个新问题。
Rui F Ribeiro


6

为了稍微扩展该答案,您的syslog会将部分内存的内容提交给磁盘,而syslog的元数据不是最新的。该字符串^@实际上是NUL字节;刚分配的内存页面最初包含的内容。


温馨提示:如果您打算将其作为JdeBP答案的基础,请尝试使其正确。出于安全原因,磁盘扇区在由内核分配时归零,它本身不是写入0的内存。我建议纠正。
Rui F Ribeiro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.