Sistem crash - karakter aneh di syslog

11

Saya memiliki server kecil yang saya gunakan untuk pengujian dan pemrograman. Saat ini menjalankan Debian 9.4 peregangan dengan 4.14.0-0.bpo.3-amd64 kernel.

Hari ini saya mencoba terhubung melalui SSH tetapi saya tidak bisa kemudian mencoba untuk melakukan ping dan itu tidak dapat dijangkau. Karena itu saya harus me-restart dengan mencabut kabel daya. Kemudian saya pergi ke /var/log/syslog dan menemukan garis aneh yang berisi persis 6140 karakter seperti berikut

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

maka tidak ada yang lain sampai entri log baru dari sistem restart. Ini sebenarnya pertama kali terjadi.

Apakah ada yang tahu apa itu?

DrKey
sumber
2
Yah saya menulis tentang ini di askubuntu.com/a/1020373/43344 , untuk satu. (-: Lalu ada unix.stackexchange.com/questions/227173 dan unix.stackexchange.com/questions/237321 ...
JdeBP
1
@ JdeBP Saya lebih suka jawaban / tautan pertama Anda, itu dia. Odd memiliki pertanyaan dengan 1500+ kunjungan yang belum Anda dapatkan satu suara, +1.
Rui F Ribeiro

Jawaban:

14

Konten file syslog yang Anda tunjukkan kepada kami dari semua nol memang merusak penulisan sistem file / syslog.

Sistem Anda mengalami crash ketika sistem menulis di file syslog, dan itulah hasil akhirnya.

Sudah melihatnya terjadi beberapa kali selama bertahun-tahun, di Linux VM dan beberapa kali lagi di Raspberry dan Banana Pis.

Tidak ada yang perlu terobsesi (terlalu banyak) tentang atau kehilangan banyak waktu untuk menyelidiki mengapa Anda memiliki ini untuk acara satu kali. Saya akan lebih khawatir untuk mengetahui mengapa itu crash, terutama jika itu adalah acara biasa.

PS masuk ke wilayah anekdotal, terakhir kali saya mengalami ini terjadi secara teratur di Banana Pi R1, saya berhasil melacak penyebabnya ke chipset wifi realtek (rusak).

Rui F Ribeiro
sumber
4
Perlu juga dicatat bahwa itu ^@adalah byte NUL (nilai byte 0), jadi itu adalah data "kosong" yang ditambahkan ke file log secara tidak sengaja. Ini bisa terjadi, misalnya, ketika blok kosong baru ditugaskan ke akhir file, tetapi jumlah byte sebenarnya ditempati oleh data yang bermakna di blok itu tidak diperbarui dengan benar (karena crash / hard reset terjadi sebelum penghitung itu berkomitmen untuk drive).
marcelm
bagaimana cara mengetahui mengapa crash?
CEO di Apartico
@ CEOatApartico Saya akan menyarankan membuka pertanyaan baru.
Rui F Ribeiro
@RuiFRibeiro unix.stackexchange.com/questions/528275/…
CEO di Apartico
6

Untuk sedikit memperluas jawaban itu , syslog Anda memiliki konten halaman memori yang sebagian dikomit ke disk, dengan metadata syslog tidak mutakhir. String ^@karakter itu sebenarnya adalah NUL byte; persis apa halaman memori baru dialokasikan awalnya berisi.

Jarhmander
sumber
Pengingat ramah: Jika Anda akan mendasarkannya dalam jawaban JdeBP, cobalah untuk memperbaikinya. Sektor disk diberi nol ketika dialokasikan oleh kernel untuk alasan keamanan, ini bukan memori dengan 0s yang ditulis per se. Saya menyarankan untuk memperbaikinya.
Rui F Ribeiro