Summary: | OOM в installer | ||
---|---|---|---|
Product: | Simply Linux | Reporter: | vx8400 <vx8400> |
Component: | installer | Assignee: | Mikhail Efremov <sem> |
Status: | CLOSED FIXED | QA Contact: | Andrey Cherepanov <cas> |
Severity: | major | ||
Priority: | P3 | CC: | aen, dd1email, glebfm, mike |
Version: | 6.0 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Bug Depends on: | 27786 | ||
Bug Blocks: | |||
Attachments: |
Можно попробовать передать параметр lowmem -- при этом squash будет монтироваться прямо с носителя без копирования на рамдиск (см. propagator/tools.c). (В ответ на комментарий №1)
> Можно попробовать передать параметр lowmem
Не помогает. unsquashfs так же убило по OOM.
Тогда прошу постановку задачи. Дело в том, что есть экспериментальная работа по портированию Simply на mkimage-profiles и systemd, она ещё довольно далека от завершения, но промежуточные результаты могут оказаться уже подходящими. В m-p предпринимаются особые меры по экономичности второй стадии (см. features.in/cleanup/, если вдруг интересно). (В ответ на комментарий №3) > В m-p предпринимаются особые меры по экономичности второй стадии (см. > features.in/cleanup/, если вдруг интересно). А вот наивный вопрос: unsquashfs распаковывает в /mnt/destination тот же /image/live, который в liveCD уже смонтирован в /.ro? Если так, тогда почему вместо unsquashfs -ll /image/live не копировать из /.ro нужные файлы в /mnt/destination? Created attachment 5485 [details] Патч на livecd-install, 'cp -a' вместо unsquashfs (В ответ на комментарий №3) > В m-p предпринимаются особые меры по экономичности второй стадии (см. > features.in/cleanup/, если вдруг интересно). cp -a /.ro/* /mnt/destination вместо `unsquashfs /image/live ...' помогает. См. примерный патч на livecd-install. Пропатченный livecd-install отработал без видимых ошибок (установщик запускался не из live-cd, а из установленной на жесткий диск системы). ping Created attachment 5576 [details] Патч на livecd-install (кентавр 7альфа), 'cp -a' вместо unsquashfs Проблема воспроизводится в альфа-версии Кентавра 7: ftp://beta.altlinux.org/centaurus/altlinux-6.9.0-20120928-centaurus-i586-ru-install-dvd5.iso При RAM=256M и swap=256M unsquashfs вылетает по OOM (см. dmesg.oom.p7.log). Лечится приложенным патчем на livecd-install. Патч проверен на liveCD по ссылке выше. Перед запуском "установки на жесткий диск" /usr/lib/alterator/bakend3/livecd-install был заменен на пропатченный. При RAM=256M и небольшом свопе еще можно получить пригодную к использованию систему. Например, Gnome3 вполне рабочий в "fallback mode". Поэтому инсталлятор имеет смысл исправить, чтобы снизить его требования к памяти. Created attachment 5577 [details]
OOM в livecd-installer (кентавр 7 альфа)
Спасибо, постараюсь проверить. 2 boyarsh: если успеешь раньше, тоже хорошо :) Created attachment 5683 [details]
0.7.4-alt1 patch (the previous one was hand edited and didn't apply)
Сделали сегодня две реализации -- вариант с tar и оценкой прогресса по блокам при распаковке получился довольно быстрым (т.е. упирается в диск/CPU) и дошёл всего до 102% (что похоже на оверхед и разницу в оценке tar относительно du -sb --apparent-size), вариант с df -i и cp -av | sed -n "0~$((total / 100))p" тоже довольно быстр, но добегает до 114%.
Добавить мне особо нечего, оно всё в виде разобранных набросков -- поэтому пока вешаю прикладывающийся патч для 0.7.4-alt1.
Fixed in 6.991.0. . |
Created attachment 5477 [details] oom в dmesg При установке Simply Linux 6.0.1 c образа altlinux-6.0.1-simply-i586-ru-live-cd.iso на машину с 248M RAM установщик ловит OOM на шаге "установка пакетов" (после разметки диска), переходит к установке загрузчика и завершается без сообщений об ошибках. Вывод dmesg прилагается. swap-раздел размером 218M был создан при автоматической разметке диска. Ошибки нет, если при RAM = 248M назначить руками swap = 512M. Так как дистрибутив хорошо работает при RAM=128--256M, желательно делать бОльший swap при автоматической разбивке и предупреждать при ручной разбивке, что swap-раздела < 512M не хватает.