Сбой системы - странные символы в системном журнале

11

У меня есть небольшой сервер, который я использую для тестирования и программирования. В настоящее время работает Debian 9.4 stretch с ядром 4.14.0-0.bpo.3-amd64 .

Сегодня я попытался соединиться через SSH, но не смог тогда, я попытался пропинговать это, и это было недоступно. Поэтому мне пришлось его перезапустить, отключив кабель питания. Затем я пошел /var/log/syslog и нашел странную строку, содержащую ровно 6140 символов, например

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

тогда больше ничего, пока новые записи журнала системы не перезапустятся. Это на самом деле первый раз, когда это происходит.

Кто-то знает, что это может быть?

DrKey
источник
2
Ну, я написал об этом на askubuntu.com/a/1020373/43344 , например. (-: Тогда есть unix.stackexchange.com/questions/227173 и unix.stackexchange.com/questions/237321 ...
JdeBP
1
@JdeBP Я предпочитаю ваш первый ответ / ссылку, это действительно так. У Odd есть вопрос с 1500+ посещениями, у вас нет ни одного голоса, +1.
Руи Ф Рибейро

Ответы:

14

Тот контент файла системного журнала, который вы показываете нам всех нулей, действительно является искажением записи файловой системы / системного журнала.

Ваш системный сбой поймал середину записи системы в файл системного журнала, и это - конечный результат.

Уже видели, как это происходило несколько раз за эти годы, в виртуальных машинах Linux и еще пару раз в Raspberries и Banana Pis.

Нечего (слишком много) зацикливаться или терять много времени, чтобы выяснить, почему у вас есть это для разового события. Я был бы более обеспокоен, узнав, почему он разбился, особенно если это регулярное событие.

PS Попадая в анекдотическую территорию, в прошлый раз, когда это происходило регулярно в Banana Pi R1, мне удалось отследить причину (неисправного) чипсета realtek wifi.

Руи Ф Рибейро
источник
4
Стоит также отметить, что ^@это байт NUL (значение байта 0), поэтому это «пустые» данные, которые случайно добавляются в файл журнала. Это может произойти, например, когда новый пустой блок назначен в конце файла, но количество байтов, фактически занятых значимыми данными в этом блоке, не обновляется должным образом (потому что сбой / полный сброс произошел до того, как этот счетчик был стремится к драйву).
Марселм
как узнать почему он разбился?
Генеральный директор Apartico
@CEOatApartico Я бы посоветовал открыть новый вопрос.
Руи Ф Рибейро
@RuiFRibeiro unix.stackexchange.com/questions/528275/…
генеральный директор Apartico
6

Чтобы немного расширить этот ответ , ваш системный журнал содержит содержимое страницы памяти, частично записанной на диск, с метаданными системного журнала, которые не были обновлены. Эта строка ^@символов на самом деле NUL байтов; именно то, что изначально содержит недавно выделенная страница памяти.

Jarhmander
источник
Дружеское напоминание: если вы собираетесь основать это в ответе JdeBP, попробуйте сделать это правильно. Секторы диска обнуляются при выделении ядром по соображениям безопасности, это не память с нулями, которые пишутся как таковые. Я советую исправить это.
Руи Ф Рибейро