LINUX.ORG.RU

Ubuntu 20.04 уходит в kernel panic при 256 МБ памяти

 ,


2

1

У меня есть одна VPS, на ней 256 МБ оперативной памяти. На ней стояла Ubuntu 19.10, я решил ее обновить до 20.04, поскольку уже бета-версия и вряд ли будут какие-то фатальные изменения. Но после обновления при загрузке новое ядро (5.4.0-21-generic) стало выдавать kernel panic. При этом старое ядро от 19.10 (5.3.0-40-generic) нормально загружается. Ну я изменил в настройках GRUB так, чтобы он всегда с этим рабочим ядром загружался и стал исследовать проблему. У меня был в Virtualbox образ с Ubuntu 20.04, я в нем уменьшил оперативную память до 256 МБ и выделил 1 ядро процессора. Опа! Тоже kernel panic! Но стоило только увеличить размер памяти до 512 МБ, все пошло как по маслу.
Собственно говоря, вот какой вопрос. Это баг Ubuntu, который возможно скоро поправят? Или это фича? Может Ubuntu 20.04 уже не будет поддерживать системы с оперативной памятью <= 512 МБ? Тогда мне для моей VPS придется искать другой дистрибутив, потому что сидеть на старом ядре, которое не будет обновляться - это не дело.

★★★★★

Rinaldus ★★★★★  нищеброд

Или это фича?

Ну не смешно же, фича конечно же

https://ubuntu.com/server/docs/installation

Server (Minimal) - 384 megabytes

И причём удивительно желание на таком крохотной штуке и скорее-быстрее что-то ставить из Beta версии, когда ещё есть поддержка текущего LTS.

fornlr ★★★★★ ()

новое ядро (5.4.0-21-generic) стало выдавать kernel panic. При этом старое ядро от 19.10 (5.3.0-40-generic) нормально загружается

Какой размер старого инитрд? Какой размер нового инитрд?

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

У старого 47 МБ, у нового - 48 МБ. Разница всего 1 МБ. :)

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

Как уже подсказали, при распаковке это раза в три больше. Плюс само ядро. Плюс какой-никакой объем нужен для работы. Вот может этих пары-тройки мегабайт и не хватило.

andytux ()

Попробуй зарепортить. Сообщение кернел паник тоже зафотай.

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

Оно чем сжато? Хочу сам распаковать и посмотреть, сколько занимает.

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

раньше было cpio.xz... а ща смотрю там как-то хитро, куча cpio архивов, склееных друг с другом, как это щастье распаковать я не знаю

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

Нашел утилиту unmkinitramfs, с ее помощью распаковал. Старый initrd весит 136 МБ в нераспакованном виде. Новый initrd - 143 МБ. Неужели 7 МБ имеют значение? Я кстати попробовал пошаманить с оперативной памятью у себя в виртуалке. Выдает kernel panic даже при 350 МБ. А при 384 МБ загружается нормально. Можно было бы узнать границу, при котором оно будет загружаться, а если уменьшить на 1 МБ, то уже нет. Но смысла в этих экспериментах нет, я чувствую.

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

Бесполезно, на мой взгляд. Как уже сказали выше в этой теме, для Ubuntu 20.04 требуется минимум 384 МБ оперативной памяти и поэтому никто ничего оптимизировать не будет. Бред, конечно. Дистрибутив линукса не загружается только потому, что не загружается ядро, а ядро не загружается потому, что в initrd появилась без сомнения нужная фича, которая сожрала лишние несколько мегабайтов, но зато отсекла целый пласт бюджетных VDSок.

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

Бред, конечно.

Да бред… Как сейчас помню 2014 год (шесть лет назад), брал себе самую дешёвую VPS от одного провайдера — было 512 МБ ОЗУ. Меньше не давали. Сейчас уже у них минимум 1 GB. Но ниже 512 МБ — это смех в 2020 году.

Raspberry Pi тоже уже ниже 512 МБ не производят.

Пошёл смотреть системные требования CentOS — рекомендуемый минимум 768 МБ.

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

Я о похожих вещах писал. Что в 20.04 Ububtu Server они стали пихать всякие snap и прочее дерьмо, в итоге после установки, openssh, docker - она занимает под 5 Гигов, это ппц. Тот же alpine linux с теми же фичами на диске занимает 100 Мб условных, вот тебе и «server».

Какой я вывод сделал из Ubuntu? Что её пилят для облаков и кубернетесов, а не для «bare metal server», что на потребление ресурсов им похер, что минимал установка и быстрая загрузка - это уже в прошлом (14.04).

Сейчас добротных дистров для сервера почти нет, во всех какие-то свои недостатки, радуют только Alpine, Slackware и Arch - вот из них можно собрать шустрый сервер под 256 Мб. Я как-то заморочился со Слакой и собрал ядро и инит систему, жрущие в сумме 11 Мбайт, после старта и готовое к работе - вот это я понимаю. На диске система занимала 60 Мбайт, было это 4 года назад…

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

Есть мысль поставить CentOS 8 + LXC. На хостовой системе CentOS, у которой поддержка 10 лет, а в LXC-контейнере все нужное содержимое. Можно в контейнере даже Ubuntu 20.04 поставить, ядро все равно будет использоваться хостовое. И мигрировать контейнеры с хостера на хостер, если понадобится, очень просто - заархивировал, скопировал и распаковал в нужном месте.

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

Arch

можно собрать шустрый сервер под 256 Мб

Не знаю, как с остальными дистрибутивами, но Arch у меня отказывается загружатся, если ОЗУ < 512MB

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

А ты зарепорть и отойди.

Может и правда баг. initrd стал больше на мегабайт, при этом со старым всё работало на 256 Мб, а с новым не работает даже на 350.

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

Полный бред. Alpine узкоспециализированный дистрибутив, не предназначенный для серверов. Arch Linux не годится для серверов уже потому, что непрерывно обновляемый, а это - качество, противоположное стабильности. Slackware у вас наверняка нет ввиду нелепости вашего списка разнородных дистрибутивов. Но он нужен толлько кучке энтузиастов, раз его популярность не растёт.

Автору темы может быть интересно решать придуманную им задачу, но никому больше это не интересно и не нужно.

Partisan ★★★ ()

в 2009-м пытался поставить убунту 9.10 на 6 мб рамы - она хотела 8 мб, а убунту 6.10 тупо не работала. пришлось ставить икспишечку и не выеживацца.

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

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

Вполне оправданное название. Это как купить пакет майку для переноса металлического инструмента… Дёшево, но результат предсказуем.

Тем более же пишут требования

Вот тот же Debian Stable

https://www.debian.org/releases/stable/i386/ch03s04.ru.html

Должен влезть в 256 МБ.

Нет, надо зачем-то бежать 🏃‍♂️ за новыми бета версиями продукта, где системные требования выше немного.

fornlr ★★★★★ ()

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

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

собрать и дефолтно поставить несколько разные вещчи… :)

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

пишут требования

Высосаные из 21-го пальца. Потому что модно, стильно, молодёжно.

А вон в соседнем треде обсуждают что «толстый 32» ускорили в несколько раз — поди за модными стилягами говно подобрали.

deep-purple ★★★★★ ()
Ответ на: комментарий от bookman900

Боишься? Ну и правильно — бойся. Они ещё и не такого нахерачат.

deep-purple ★★★★★ ()
Ответ на: комментарий от Rinaldus

Тогда поставь 18.04 LTS. На сетевых устройствах свежие мажорные версии ядер не нужны.

FilosofeM ★★ ()

Предлагаю крохоборствовать на gentoo.

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

Я тебе уже отвечал - что есть у меня слака и крутится она в Google Cloud 🤣 как и Alpine. Чем это он не подходит для сервера? У меня на Alpine - Docker во все поля, на слаке сборочные фермы

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

А что годится? Debian и RHEL/CentOS? И всё? Ты если критикуешь - предлагай, но я не удивлюсь, если эти 2 банальные дистры

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

CentOS ещё 10 лет назад требовал 1 гб для инсталлятора. при этом, если не создать свопа, то на крупных пакетах оно просто намертво зависало. после установки можно было и на меньшем количестве памяти её крутить, на 512 точно, на 256 не уверен. как сегодняшний поведёт себя на 256 - я не знаю

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

Выдает kernel panic даже при 350 МБ. А при 384 МБ загружается нормально.

Именно это в системных требованиях и написано - 384 минимум.

pinus_nigra ()

Ubuntu 20.04 уходит в kernel panic при 256 МБ памяти

У меня и 19.10 уходит.

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

Не глупи и отправляй баг-репорт. Бета-тестирование для того и существует. А так получается, что ты бета-тестил, нашёл баги, но никому о них не сказал. Я в 2008 году так же тестировал экспериментальное 3D на r600 в драйвере radeon, нашёл много багов и не зарепортил, о чём до сих пор жалею.

Система должна разворачиваться в 256 Мб легко. RHEL 4 прекрасно работал на 256 Мб ОЗУ с десктопом на базе KDE 3.3, а RHEL 5 на GNOME 2 прекрасно работал на 512 Мб ОЗУ. А у тебя тут vmlinuz и initrd не могут развернуться на 256 Мб ОЗУ? Да ну, бред. С тех пор они оба не так уж сильно выросли в размере, а помещались и они, и вся остальная система, и ещё для приложений оставалось.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от deep-purple

На 6 Мб рамы пойдёт только DOS, Win 3.1 и Win 95, причём последний желательно без обновления OSR2, хотя и с ним будет работать.

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

Зарепортил, мне не жалко. Кстати, минут 15 пытался найти, где у них можно репортить баги, там все настолько запутано. Но я примерно представляю, что они скажут. Кстати, CentOS тоже невозможно поставить штатными средствами на систему с 256 МБ памяти. Но на хабре я вчера видел, как можно это сделать правда через одно место, но все же можно. Но в отличие от убунты там инсталлятор просто больше ресурсов требует, а тут, понимаешь, штатное ядро не грузится. Это уже сложнее.

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

А, нет, это не ответ. Это бот отвечает.

Можно дополнить инфой, что проблема именно в vmlinuz и initrd, поэтому выполнить какие-то команды невозможно

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

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

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

Вот так и буду переписываться с ботом, а ведь важно чтобы человек посмотрел этот баг. Да, бюрократия у них еще та. От чрезмерной бюрократии страдает весь процесс.
Ответил этому боту, если это хоть как-то поможет повлиять на что-то.
P.S. Вообще планирую завтра поставить на этот сервер CentOS 8 + LXC (заодно из спортивного интереса посмотрю, как он работает с 256 МБ памяти). А в следующем месяце у меня оканчивается проплата, так я буду менять хостера, скорее всего, по этим причинам. Разумеется, у этого хостера есть и более дорогие тарифы, но стоят они несоизмеримо больше, чем по рынку в целом.

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

а ведь важно чтобы человек посмотрел этот баг.

Не важно. Нет никакого «бага» (выражаясь вашим языком). Раз авторы указали минимум в 384 МБ, значит они уже изучили этот вопрос и решили не выполнять вашу хотелку. И действительно, то , что вы хотите, на самом деле никому не нужно, в том числе вам. Впрочем, если не хотите увеличивать память, то можете просто вернуться к Ubuntu 19.10. Нк так уж вам нужна Ubuntu 20.04, раз вы готовы променять её на CentOS. В общем, у вас нет проблемы, которую надо было ьы решать.

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

собери свежее ядро из апстрима без вагона ненужных конкретно этой VDS драйверов и прошивок, взлетит. когда-то так PIII с 64 мегами оживил

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

Не глупи и отправляй баг-репорт.

Мало того, что сами ***, так ещё других людей своим дебилизмом отвлекают от разработки 🤨

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

А ты читал, что тебе бот написал?

and change the bug status to ‘Confirmed’.

А у тебя статус Incomplete.

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от menangen

А что годится? Debian

Ну да.

В чём суть искать принципиально других решений? Когда вот рядом под рукой почти такое же.

Там и поддержка 32 бит есть. Как раз Stable ставишь и это самое — готово.

Но видать скучно слишком 🤷‍♂️

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

> Раз авторы указали минимум в 384 МБ, значит они уже изучили этот вопрос и решили не выполнять вашу хотелку.

Это для всей системы с кучей демонов, в т.ч. Apache. Для initrd должно хватать даже четверти от такого объёма памяти.

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

Покажи где указано, что для initrid должно то, что ты описал.

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

Сколько ты сейчас платишь и сколько ресурсов тебе дают?

menangen ★★★★★ ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей