Bug 27407 - OOM в installer
Summary: OOM в installer
Status: CLOSED FIXED
Alias: None
Product: Simply Linux
Classification: Distributions
Component: installer (show other bugs)
Version: 6.0
Hardware: x86 Linux
: P3 major
Assignee: Mikhail Efremov
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on: 27786
Blocks:
  Show dependency tree
 
Reported: 2012-06-05 20:42 MSK by vx8400
Modified: 2013-02-15 19:28 MSK (History)
4 users (show)

See Also:


Attachments
oom в dmesg (35.11 KB, text/plain)
2012-06-05 20:42 MSK, vx8400
no flags Details
Патч на livecd-install, 'cp -a' вместо unsquashfs (2.90 KB, patch)
2012-06-09 21:00 MSK, vx8400
no flags Details | Diff
Патч на livecd-install (кентавр 7альфа), 'cp -a' вместо unsquashfs (2.70 KB, patch)
2012-09-30 17:18 MSK, vx8400
no flags Details | Diff
OOM в livecd-installer (кентавр 7 альфа) (53.58 KB, text/plain)
2012-09-30 17:21 MSK, vx8400
no flags Details
0.7.4-alt1 patch (the previous one was hand edited and didn't apply) (2.74 KB, patch)
2012-12-25 02:18 MSK, Michael Shigorin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description vx8400 2012-06-05 20:42:43 MSK
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 не хватает.
Comment 1 Michael Shigorin 2012-06-06 14:04:38 MSK
Можно попробовать передать параметр lowmem -- при этом squash будет монтироваться прямо с носителя без копирования на рамдиск (см. propagator/tools.c).
Comment 2 vx8400 2012-06-06 14:31:09 MSK
(В ответ на комментарий №1)
> Можно попробовать передать параметр lowmem 

Не помогает. unsquashfs так же убило по OOM.
Comment 3 Michael Shigorin 2012-06-06 20:13:43 MSK
Тогда прошу постановку задачи.  Дело в том, что есть экспериментальная работа по портированию Simply на mkimage-profiles и systemd, она ещё довольно далека от завершения, но промежуточные результаты могут оказаться уже подходящими.

В m-p предпринимаются особые меры по экономичности второй стадии (см. features.in/cleanup/, если вдруг интересно).
Comment 4 vx8400 2012-06-06 22:55:45 MSK
(В ответ на комментарий №3)
> В m-p предпринимаются особые меры по экономичности второй стадии (см.
> features.in/cleanup/, если вдруг интересно).

А вот наивный вопрос: 
unsquashfs распаковывает в /mnt/destination тот же /image/live, который в liveCD уже смонтирован в /.ro? Если так, тогда почему вместо unsquashfs -ll /image/live  не копировать из /.ro нужные файлы в /mnt/destination?
Comment 5 vx8400 2012-06-09 21:00:27 MSK
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, а из установленной на жесткий диск системы).
Comment 6 vx8400 2012-09-28 12:21:45 MSK
ping
Comment 7 vx8400 2012-09-30 17:18:51 MSK
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". Поэтому инсталлятор имеет смысл исправить, чтобы снизить его требования к памяти.
Comment 8 vx8400 2012-09-30 17:21:17 MSK
Created attachment 5577 [details]
OOM в livecd-installer (кентавр 7 альфа)
Comment 9 Michael Shigorin 2012-09-30 23:03:35 MSK
Спасибо, постараюсь проверить.

2 boyarsh: если успеешь раньше, тоже хорошо :)
Comment 10 Michael Shigorin 2012-12-25 02:18:10 MSK
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.
Comment 11 Mikhail Efremov 2013-02-15 19:27:44 MSK
Fixed in 6.991.0.
Comment 12 Mikhail Efremov 2013-02-15 19:28:13 MSK
.