テストとプログラミングに使用する小さなサーバーがあります。現在Debian 9.4ストレッチ4.14.0-0.bpo.3-AMD64カーネルで実行されています。
今日、SSHを介して接続しようとしましたが、接続できなかったため、pingを実行しようとしましたが、到達できませんでした。したがって、電源ケーブルを抜いてハードリスタートする必要がありました。次に/var/log/syslog
に行って、次のような正確な614文字を含む奇妙な行を見つけました
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
その後、システムの新しいログエントリが再起動するまで、何も行われません。これが実際に発生するのは初めてです。
誰かがそれが何であるかを知っていますか?
あなたが私たちにすべてゼロを示しているそのsyslogファイルの内容は、ファイルシステム/ syslogの書き込みの実際の破損です。
あなたのシステムクラッシュはsyslogファイルへの書き込み途中でシステムを捕らえました、そしてそれは最終結果です。
Linux VMで数年に数回発生し、RaspberryとBanana Pisでさらに数回発生しています。
一度だけのイベントでこれを持っている理由を調査するために時間を浪費したり、多くの時間を失ったりすることはありません。特に定期的なイベントの場合、クラッシュの原因を突き止めるのがもっと心配になります。
PSが事例領域に入ると、最後にこれがBanana Pi R1で定期的に発生したとき、原因を(欠陥のある)realtek wifiチップセットまでたどることができました。
その答え を少し拡張すると、syslogのメタデータは最新ではなく、メモリのページの内容がディスクに部分的にコミットされています。その^@
文字の文字列は、実際にはNULバイトです。新しく割り当てられたメモリページに最初から含まれているものとまったく同じです。