LINUX.ORG.RU
ФорумAdmin

Как правильно обработать событие «нет места на диске» или kernel panic?

 


0

1

У меня есть скрипт, который синкает профиль и есть проблема, что когда на диске нет места или когда подвешивается ядро(amdgpu скорей всего виноват), то tar мне в ${TARGET_STATIC}.tar.gz делает архив равный размеру 0, т.е он делает транк исходного архива, из которого был перенесен профиль. И у меня после следующей загрузки в памяти уже нет профиля и есть архив нулевой велечины. Т.е я теряю профиль. Конечно, я его восстанавливаю из бекапа, но неприятно

tar --exclude='.unpacked' -I "pigz -k -9" -cf "${DIR_SRC}/${TARGET_STATIC}.tar.gz" "${TARGET_DST}"
★★★
Ответ на: комментарий от anonymous

Я всю жизнь сидел на нвидиа и интегрированной интел и никогда такого не видел. А тут при любом чихе может amdgpu подвесить ядро. Например можно открыть mpv недокачанный из торрентов фильм и получить неотвечающее даже на magic key ядро, т.е тупо ресетом надо сбрасывать. Шел 2024 год

serg002 ★★★
() автор топика

Если я правильно распарсил, то создавайте архив с временным именем, по завершению создания mv $временное-имя $нужное-имя.

anc ★★★★★
()

pigz

zstd -T0

pigz часто создаёт испорченные архивы (личный опыт).

Как уже сказали, не удалять предыдущий архив, пока успешно не создал новый. Создать новый архив, при успехе заменить старый новым.

anonymous
()
Ответ на: комментарий от anonymous

pigz часто создаёт испорченные архивы (личный опыт).

Хорошее дополнение. Я вообще первый раз это название увидел. 2TC а чем православный tar, всмысле gzip, bzip2 &etc не угодил?

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

pbzip2

bzip2 хорош коэффициентом сжатия, за счёт скорости.

Но параллельный теряет это качество, и скорость так себе по сравнению с другими многопоточными. И, если не путаю, не умеет в параллельную распаковку.

Я его мало тестировал, возможно поэтому не столкнулся с порчей архивов.

Лучше xz, который умеет в параллель, но медленная распаковка.

anonymous
()
Ответ на: комментарий от Dimez

Может, карта битая?

Либо достаточно новая, а ядро и/или микрокод слишком старые. Последний известный мне случай, когда у AMD были, по всем признакам, достаточно массовые аппаратные проблемы в GPU — RX 5700. В любом случае, ТС не любит вдаваться в детали, так что будем считать, что это чёртовы джуны пакостят.

anonymous
()
Ответ на: комментарий от anonymous

Лучше xz, который умеет в параллель, но медленная распаковка.

С xz есть смысл связываться только тогда, когда нужно выжать последние проценты степени сжатия по сравнению с zstd

annulen ★★★★★
()
Ответ на: комментарий от annulen

С xz есть смысл связываться только тогда, когда нужно выжать последние проценты степени сжатия по сравнению с zstd

Мне казалось, zstd 22 должен быть примерно на том же уровне, возможно, и лучше. Но я давно проверял, не помню уже деталей. Зато недавно узнал, что 7z жмёт некоторые данные (в данном случае игры) намного лучше, чем xz (с tar). При этом 7zip менее консервативно относится к памяти, и иногда использовал 40-50 Гб без необходимости это как-то разрешать.

anonymous
()
Ответ на: комментарий от serg002

у меня тоже регулярно падал amdgpu и я тоже винил амд, а в итоге оказалось, что это одна из планок оперативки битая

при этом битость почти не ловилась мемтестом и прочими проверками

если у тебя оперативка без поддержки amd expo и ты используешь профили разгона - скорее всего, ты уже кокнул свою оперативку, но ещё не догадываешься об этом

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

anonymous
()
Ответ на: комментарий от anonymous

Мне казалось, zstd 22 должен быть примерно на том же уровне, возможно, и лучше. Но я давно проверял, не помню уже деталей.

Я как-то не пробовал уровни выше 19, и емнип они сильно медленнее обычных.

Зато недавно узнал, что 7z жмёт некоторые данные (в данном случае игры) намного лучше, чем xz (с tar).

У xz/lzma есть специальные BCJ-фильтры, позволяющие лучше сжимать исполняемый код для некоторых популярных архитектур. Вангую, что в этом случае бинарников оказалось много.

annulen ★★★★★
()
Ответ на: комментарий от anonymous

Будешь щипцами вытягивать дистр, версии ядра, прошивок, дмесг загрузки, падения, повторимый сценарий падения, при/после suspend/resume, во время 3d-нагрузки, проигрывания av1-видео по hdmi на третий монитор справа при разрешении 16k…

anonymous
()
Ответ на: комментарий от anonymous

Ну нет, конечно, я не бесплатная техподдержка. Но если у него дебиановское 6.1, то стоит обновить и ядро, и firmware. В целом на эти встройки вроде особо не жалуются, так что либо софтовая проблема, либо действительно что-то железное, может, и память, как выше предположили. Сейчас её разгоняют все, кому не лень, а DDR5 любит перманентно деградировать.

anonymous
()
Ответ на: комментарий от anonymous

У меня 7900Х, лимит 80С. Скаляр стоит 2Х, на 1Х падал. Выставлял auto - такая же стабильность, как и на 2Х.

Оперативная память 64 Gb 6400 MHz G.SKILL RIPJAWS S5 Black (F5-6400J3239G32GX2-RS5K)

На 1.4В она не поехала. Мемтест через пару часов начал выдавать ошибки. Поставил

DRAM voltage: 1.410 V 
DRAM VDDQ Voltage:  1.410 V
DRAM VDDIO Voltage: 1.410 V
UCLK DIV1 = [UCLK=MEMCLK]

На этих настройках тестировал ее 16 часов и всё ок

Система стабильно работает месяцами, но как только включаешь недокачанный фильм из торрента - в 9 из 10 случаев вешает ядро без возможности меджик кеями синкнуть и перегрузить(но в редких случаях получается это сделать). Если бы была проблема с оперативой, то тогда глюква вылазила бы в разных местах. Я иногда под завязку забиваю оперативу, поэтому глюква была бы 146%. Поэтому - это драйвер amdgpu, на который, к тому же, жалуваются достаточно часто. Поэтому варианты с оперативой - это крайне низкая вероятность

если у тебя оперативка без поддержки amd expo и ты используешь профили разгона - скорее всего, ты уже кокнул свою оперативку, но ещё не догадываешься об этом

Оператива 6400, работает 6200. В профиль специально зашивают так, чтобы она не работала на граничных к максималке частотах. Поэтому и пришлось вольтаж чуть-чуть подкрутить, но там не критично. Поэтому варианты «кокнуть» оперативу не про эти настройки

serg002 ★★★
() автор топика
Ответ на: комментарий от anonymous

Во всех вариациях работает. И 3д и браузер. Логи не успевают записаться при падениях. То амд надо драйвера нормально пейсать. У меня на интеле за 5 лет не одного такого случая не было, mpv при недокачанном торренте просто вешал mpv, который килялся даже не через консольку, а просто окно закрываешь и всё(т.е вешалось само воспроизведение, но это не затрагивало ядро и даже сам mpv)

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 2)
Ответ на: комментарий от anonymous

pigz часто создаёт испорченные архивы (личный опыт)

А может это битая оператива, лол? Ты представляешь какое кол-во людей пользуется этим архиватором и если бы массово портило архивы, то это бы всплыло(хотя, может и всплывало и это пофиксили хз-хз). Пока что всё ок. Будет какая-то трабла, я топик создам, не сомневайся :)

zstd -T0

pigz с максимальным сжатием у меня работает со скоростью харда. Куда уж быстрей? Может на m2 будет и быстрей, но это надо тестить. Ты тестил pigz vs zstd -T0? Насколько быстрей? И да, можно еще уменьшать на pigz сжатие. Можно же играться с настройками

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 1)
Ответ на: комментарий от anonymous

битый видеопоток

Ну так все его корректно обрабатывают и всё ок, а амд крашит ядро. Можно конечно винить

старое ядро, firmware, старый mesa, vaapi, mpv с hwdec=vaapi, новый процессор

Но факт есть факт, что у всех работает(нвидиа, интел), а у амд - нет. Я не фанбой какого-то лагеря, я не ищу оправданий и говорю как есть

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 1)
Ответ на: комментарий от serg002

А может это битая оператива, лол?

Нет. Это именно pigz падал или создавал битые архивы. Пальцем в небо, как пример того, что не все так хорошо https://github.com/madler/pigz/issues/116

Лучше обычный gzip

pigz с максимальным сжатием у меня работает со скоростью харда

Тебе скорость нужна или нужен коэф. сжатия? Возьми и проверь: и скорость и коэффициет. Но для меня pigz - ненажежный компрессор. Я его тестировать не хочу и не буду.

Вот тебе кандидаты.

lz4 -T0
ztsd -T0
xz -T0

Самый быстрый lz4. Можно подобрать уровень сжатия под скорость диска.

anonymous
()
Ответ на: комментарий от anonymous

Лет 12 назад жал каждую ночь pigz’ом 30-гиговые бэкапы БД в 4 потока.

Проблем не было, т.к. бэкап каждый день восстанавливался на тестовый сервер (который очень активно использовался), и это бы сразу заметили.

bigbit ★★★★★
()
Ответ на: комментарий от serg002

битый видеопоток амд крашит ядро.

потому что неотлаженная старая версия софта (mesa, vaapi, драйвера, прошивки) неправильно работают с новым железом, особенно в критических случаях, когда железу скармливают некорректные данные. Например, софт тупо неправильно обрабатывает сигналы об ошибке со стороны железа.

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

anonymous
()
Ответ на: комментарий от bigbit

Использую pigz лет 5. Бекапы системы делаю раз в месяц, бекапы /home и несколько аплекух профили разворачиваются из архивов при загрузке системы в память и обратно пакуются изменения при перезагрузке. Проблем нет. Где-то в интернетах читал, что были какие-то точечные проблемы, но массовых проблем не видел

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Лучше обычный gzip

Обычный гзип мне в один поток 40 минут жать будет то, что pigz делает за 3 минуты

Тебе скорость нужна или нужен коэф. сжатия?

кое-где сжатие, кое-где скорость. Например /home xz будет жать в несколько раз дольше, а выигрыш 150мб, а в случае бекапа системы - я максимально сжимаю, т.к в одном случае 16гб архив, а во втором - 12

Вот тебе кандидаты.

Спасибо, сохранил. Попробую применить, когда появится необходимость. Пока pigz жмет и всё ок

https://github.com/madler/pigz/issues/116

Я слышал в интернетах о проблемах, но сам не ловил это. Жму так | pigz -9, жмется на 24 потока, проблем не наблюдал. Но ты isuues почитай, что там?

  1. Azure Linux Kernel 5.15.125.1-2
  2. I can report the issue too on Debian 11, kernel 6.6.13 (backports), Beelink SER5 Pro (Ryzen 7 5800H, 32 GB RAM, NVMe SSD).
  3. и пара багов на suse

Что там у них в системах и как настроено - никто не знает, может там хард проблемы или что-то битое. Это всё не носит массовый характер. Кстати, я с pigz еще на nixos паковал, когда использовал ее - тоже всё ок было

serg002 ★★★
() автор топика
Ответ на: комментарий от anonymous

Я про драйвера амд всю жизнь слышу, что вот выйдет новая версия драйвера. Еще со времен R200. И постоянно какая-то глюква. Ок-ок, ждем дебиан13, скорей всего там будет всё ок(но я сомневаюсь)

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

Ну так это должно корректно в драйверах. А так-то debian 12 Bookworm release date 2023-06-10. 7900X release date Release Date: Sep 27th, 2022. Инженеры могли брать замороженный пре-релиз и всё корректно год-полтора тестировать. Это не аргумент про новое железо и ай-яй-яй что оно что-то некорректно обрабатывает. Драйвера должны всё учитывать. Потому и глюква, что есть недоработки

serg002 ★★★
() автор топика
Последнее исправление: serg002 (всего исправлений: 2)

tar мне в ${TARGET_STATIC}.tar.gz делает архив равный размеру 0, т.е он делает транк исходного архива

Типичная ошибка джуна: создавать новый файл поверх старого. По сути ты сначала удаляешь существующий архив, потом начинаешь создавать новый. Если что-то во время создания идёт не так, у тебя не остаётся ни старой версии, ни новой в корректном состоянии.

Более устойчивым решением будет писать новый архив в новый файл, затем синкать буферы на диск, потом уже переименовывать новосозданный файл, перетирая старый. При таком подходе в какой бы момент не произошло зависание, у тебя остаётся либо целая старая версия и недописанная новая, либо корректная новая.

Если синкать только файл, то не забуть ещё синкнуть директорию, в которой файл находится. Или можно синкать вообще всё. Второй способ проще, особенно в скриптах.

i-rinat ★★★★★
()
Ответ на: комментарий от serg002

А так-то debian 12 Bookworm release date 2023-06-10.

Так debian это по умолчанию старье если это stable а не testing.

Просто для интереса какая версия mesa у тебя установлена? Просто я вижу что у debian стабильная версия mesa 22.3.6 (2023-02-22), тогда как у ubuntu это mesa 24.2.3 (2024-09-18). А в archlinux вообще mesa 24.3.3 (2025-01-03), это одна из причин почему valve выбрали это дистрибутив там всегда последние версии драйверов. Сейчас в стабильном дебиане дрова почти двухлетней давности.

V1KT0P ★★
()
Ответ на: комментарий от serg002

Инженеры могли брать замороженный пре-релиз и всё корректно год-полтора тестировать

Я чё-т сомневаюсь, что инженерам AMD есть дело до релизов Debian. Они разрабатывают драйверы для ядра.

Собери логи паники, отправь в багзиллу ядра. Поскольку 6.1 это LTS, есть шанс, что даже поправят для него. По крайней мере, кривущие драйверы igc (сетевые карты Intel 2.5 GbE) чинили в LTS. Точнее, бэкпортировали исправления и новых ядер.

anonymous
()
Ответ на: комментарий от serg002

7900X release date Release Date: Sep 27th, 2022.

Ядро 6.1 вышло в декабре 2022. Вряд ли тогда успели добавить и отладить драйвера для ryzen 7900x. Вряд ли бекпортировали потом.

debian 12 Bookworm release date 2023-06-10

Дебиан перед выпуском замораживают версии пакетов чуть ли не на полгода. С точки зрения прогрессивного пользователя дебиан - это окаменелости пищеварения мамонта уже на момент релиза.

anonymous
()