Есть комп под Linux'ом (конкретно - Red Hat 9).
На нём в режиме 24х7 (короче постоянно) работает одна софтина. Годами.
Понятно, что в ней накапливаются последствия ошибок, деградация и всё такое.
Иногда (рекорд - полтора года) комп юзеру приходится перегружать. Это занимает минут 10.
Нужно ускорить прОцесс.
Появилась мысль сделать как в буках: давишь кнопку "Спать" - он куда-то скидывает данные и отрубается. Включаешь - он за несколько секунд всё восстанавливает "как было" и продолжает работу.
Вот идея и заключается в том, чтобы запомнить некоторое стартовое, "чистое" состояние системы и при нажатии пользователем, допустим reset'а - за несколько секунд восстанавливает все "с нуля".
Вот как это грамотно реализовать?
И как вообще засыпание реализовано?
В общем, принимаются любые мысли.
"Быстрый" запуск ОС и софта (Нетривиальный вопрос)
Модератор: Модераторы разделов
-
TuLiss
- Сообщения: 1611
- Статус: 01100
- ОС: Gentoo,Ubuntu,MacOS X
Re: "Быстрый" запуск ОС и софта
Zeus писал(а): ↑13.12.2005 14:47На нём в режиме 24х7 (короче постоянно) работает одна софтина. Годами.
Понятно, что в ней накапливаются последствия ошибок, деградация и всё такое.
Иногда (рекорд - полтора года) комп юзеру приходится перегружать. Это занимает минут 10.
Нужно ускорить прОцесс.
В общем, принимаются любые мысли.
хм. У нас сервера по 5 лет не перезагружаесь, и там не то, что 1 софтина работает,а целый зоопарк.
Для начало предложу отрубить все ненужные сервесы. Ограничить систему логгирование,и посмотреть производительность от проги, использует ли она своп итд.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
-
Zeus
- Сообщения: 694
Re: "Быстрый" запуск ОС и софта
Вопрос не в повышении времени работы, а именно в "загрузке" компа без загрузки.
Пока копаю в сторону swsuspend'а.
Кстати, никто не пробовал как такие фичи работают с многоголовыми видяхами? AGP и PCI Matrox'ы 450, 550.
Пока копаю в сторону swsuspend'а.
Кстати, никто не пробовал как такие фичи работают с многоголовыми видяхами? AGP и PCI Matrox'ы 450, 550.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: "Быстрый" запуск ОС и софта
С суспендом можно такое проделать. Нужно только для этого иметь два swap-раздела.
swsuspend фактически просто скидывает данные на swap-раздел и читает их оттуда при перезагрузке. Однако swap-раздел с данными восстановления можно передавать ядру в виде параметра при загрузке. Т.е. алгоритм такой: берётся система с двумя swap'ам, один из них делается swap'ом, другой не трогается. Она приводится в нужное состояние и усыпляется. Потом с помощью LiveCD меняем "/etc/fstab", так чтобы в качестве swap'а использовался только второй swap, и конфиг grub (видимо, "/boot/grub/boot.lst"), где даём параметр ядру просыпаться с первого swap'а.
swsuspend фактически просто скидывает данные на swap-раздел и читает их оттуда при перезагрузке. Однако swap-раздел с данными восстановления можно передавать ядру в виде параметра при загрузке. Т.е. алгоритм такой: берётся система с двумя swap'ам, один из них делается swap'ом, другой не трогается. Она приводится в нужное состояние и усыпляется. Потом с помощью LiveCD меняем "/etc/fstab", так чтобы в качестве swap'а использовался только второй swap, и конфиг grub (видимо, "/boot/grub/boot.lst"), где даём параметр ядру просыпаться с первого swap'а.
-
Nab
- Сообщения: 257
Re: "Быстрый" запуск ОС и софта
Вот такая штука есть
chpox-0.7.1.tar.gz (150Кб)
Правда родной сайт не отвечает но я качал с gnu.org помоему...
Вырезка из readme
chpox-0.7.1.tar.gz (150Кб)
Правда родной сайт не отвечает но я качал с gnu.org помоему...
Вырезка из readme
CHPOX - CHeckPOinter for linuX
==============================
Copyright © 2002, Olexander O. Sudakov <csaa@mail.univ.kiev.ua>
Copyright © 2002-2004, Eugeniy S. Meshcheryakov <eugen@univ.kiev.ua>
This program licensed under the GNU General Public License. See COPYING for
more details.
-----------------------------
CHPOX is a set of the Linux kernel modules for transparent dumping of
specified processes into disk file and restarting ones.
FEATURES
========
Dumping of one process or process with all it's children into disk file.
Restarting of process or group of processes from file.
CHPOX supports dumping of virtual memory, regular files,
current working directory, pipes, Unix sockets, multiple non-interacting
processes.
It does not crush on openMosix [3], it is SMP safe.
It works as a kernel module, so you does not need recompilation of the
Linux kernel.
Summports i386, ppc and s390/s390x architectures.
--------------Поскипано-----------------
LINKS
=====
1. http://www.chechpointing.org/ Checkpointing.org: The home to checkpointing packages
2. http://www.beowulf.org/software/bproc.html BPROC: Beowulf Distributed Process Space
3. http://www.openmosix.org/ The openMosix Project
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: "Быстрый" запуск ОС и софта
Кстати, поиск пакета на http://www1.apt-get.org/ привёл меня на сайт, который, как мне кажется, может быть интересен и в контексте этой темы: http://www.cluster.kiev.ua/(Nab @ Dec 13 2005, в 20:39) писал(а):Вот такая штука есть
chpox-0.7.1.tar.gz (150Кб)
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
TuLiss
- Сообщения: 1611
- Статус: 01100
- ОС: Gentoo,Ubuntu,MacOS X
Re: "Быстрый" запуск ОС и софта
Вам нужно ускорить процесс загрузки компа? я правильно понял?
если да, то отключите половину сервесов и будет счастье. У меня slackware грузится секунда 20 =)
(если не быстрее, без загрузки графики)
А то , что в ищите это так называемый спящий режим, каким оброзом он вам поможет быстрее перезагрузить комп не понятно.
Чтение man'нов в слух ещЁ никому не помогало!...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
kernel 4.2
chmod -x `which chmod`
War, war never changes...
-
WarlorD
- Сообщения: 728
- Статус: хочешь пропатчить KDE под FreeBSD - спроси меня как!
- ОС: FreeBSD, Debian GNU\Linux
Re: "Быстрый" запуск ОС и софта
ddc писал(а): ↑13.12.2005 18:51С суспендом можно такое проделать. Нужно только для этого иметь два swap-раздела.
swsuspend фактически просто скидывает данные на swap-раздел и читает их оттуда при перезагрузке. Однако swap-раздел с данными восстановления можно передавать ядру в виде параметра при загрузке. Т.е. алгоритм такой: берётся система с двумя swap'ам, один из них делается swap'ом, другой не трогается. Она приводится в нужное состояние и усыпляется. Потом с помощью LiveCD меняем "/etc/fstab", так чтобы в качестве swap'а использовался только второй swap, и конфиг grub (видимо, "/boot/grub/boot.lst"), где даём параметр ядру просыпаться с первого swap'а.
не знаю, вот у меня один swap и оттуда вполне нормально просыпается, хотя он у меня почти не используется конечно во время работы системы.
Кстати вот а такой не скромный вопрос: а почему тема в разделе "программирование"?
А на счет скорости перезагрузки в таком случае, ну скорость то скоростью, но это ведь не совсем перезагрузка, так что возможно просто от тез ошибок или чего еще там вы не избавитесть, тк система полностью восстановит то. что было до "усыпления".
FreeBSD
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
Debian GNU\Linux
Компьютер позволяет решать все те проблемы, которые до изобретения компьютера не существовали.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: "Быстрый" запуск ОС и софта
Так в том-то и задача, чтобы заснуть один раз, а потом только просыпаться и выключаться.
-
Zeus
- Сообщения: 694
Re: "Быстрый" запуск ОС и софта
Про два свапа я тоже думал: на одном "замороженный" образ с которого просыпаться, а второй - для работы.
А как многоголовые видяхи на это реагируют?
Просто на компе работает АРМ с полигоном управления, растянутым на несколько моников - один-то моник, наверное, заведётся, а вот остальные три-четыре... фиг знает, надо экспериментировать.
Спасибо. Тоже посмотрю на досуге
Так точно.
если да, то отключите половину сервесов и будет счастье.
Ровно половину? А если там нечётное количество? А если все отключить - вообще реактивно будет, да?
Всё что не нужно отключено.
У меня slackware грузится секунда 20 =)
(если не быстрее, без загрузки графики)
Ага, с разбегу.
Из них секунд 10 BIOS прочухивается и всё что там до LILO происходит.
А то , что в ищите это так называемый спящий режим, каким оброзом он вам поможет быстрее перезагрузить комп не понятно.
А что непонятного-то? Никакой загрузки собственно нет - просто копируется в память кусок данных с диска и передаётся управление на такой-то адрес (ну это упрощённо говоря).
Ну вообще-то предполагалось реализовать такую функциональность программно (в смысле - самому что-то напрограммить или ещё как). А тут уже готовые решения.
А куда её? В "Администрирование"?
возможно просто от тез ошибок или чего еще там вы не избавитесть, тк система полностью восстановит то. что было до "усыпления".
Задача-то как-раз каждый раз не усыплять.
Давишь Reset (аппаратный сброс), а ось не грузится по-полной, а восстанавливает когда-то один раз сохранённый рабочий, исправный образ.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: "Быстрый" запуск ОС и софта
Думаю, разницы быть не должно. Идея ведь заключается в том, чтобы полностью восстановить систему - а память видюхи всё равно в каждый момент времени воспринимается заново открытыми приложениями как пустая.
Просто в зависимости от степени оптимизации, объёма оперативной памяти и характеристик HDD swsuspend может оказаться медленней полноценной загрузки: ведь в одном случае в память переписывается с диска весь объём оперативной памяти, а в другом - только чуть-чуть + капля вычислений.
-
Zeus
- Сообщения: 694
Re: "Быстрый" запуск ОС и софта
Я не про видеопамять - туда-то понятно всё запишется, я - про инициализацию голов.
Сколько там было трахоборства с ними - это хорошо когда одна видяха к которой есть обкатанные дрова и устоявшаяся конфигурация, а когда две, да на разном чипсете... короче мороки с ними дофига.
Вот не повторится-ли она при такой "перезагрузке".
Просто в зависимости от степени оптимизации, объёма оперативной памяти и характеристик HDD swsuspend может оказаться медленней полноценной загрузки: ведь в одном случае в память переписывается с диска весь объём оперативной памяти, а в другом - только чуть-чуть + капля вычислений.
Не скажи: ведь заполнится тот же объём памяти (что загрузить, что просто слить из свопа), но только в случае загрузки ещё, действительно, всякие вычисления, конфигурирования и т.п.
По-крайней мере просыпается комп быстрее, чем грузится.
-
ddc
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: "Быстрый" запуск ОС и софта
Ну инициализация голов, если я правильно понимаю, происходит один раз - при загрузке. А тут ты вспоминаешь уже загруженную систему с уже инициализированными головами...
Нет, в случае загрузки заполняется только низ памяти - меньше сотни мегабайт, по всей видимости. При просыпании восстанавливается бинарный образ всей памяти выше ядра. Само ядро инициализируется в обоих случаях. А хорошо сконфигурированная Ubuntu на X710s грузится быстрее, чем просыпается...
-
Zeus
- Сообщения: 694
Re: "Быстрый" запуск ОС и софта
Ну инициализация голов, если я правильно понимаю, происходит один раз - при загрузке. А тут ты вспоминаешь уже загруженную систему с уже инициализированными головами...
Это СИСТЕМА (ядро, дрова еtc) "вспоминают", а для видяхи это будет обычный аппаратный сброс и она по-умолчанию заведёт одну, "главную" голову.
в случае загрузки заполняется только низ памяти - меньше сотни мегабайт, по всей видимости. При просыпании восстанавливается бинарный образ всей памяти выше ядра. Само ядро инициализируется в обоих случаях.
Ну посмотрим, поэкспериментируем.
Непонятно только зачем ВСЮ физическую память сливать в своп? Сохранять уж то, что юзается и всё.
И вот тогда получается без разницы - или оно "само" загрузилось, или его из свопа залили как образ.
Первое - даже дольше.
Ну ладно, переливать из пустое в порожнее смысла нет.
Надо экспериментировать (пока времени нет) ну и ждать кто ещё чего полезного напишет
-
vleo
- Сообщения: 4
Re: "Быстрый" запуск ОС и софта
При пробуждении системы что будет устройствами, которые после запуска ядра шамянятся особым образом в /еtc/rc.d/rc.local ? Система ведь пробудится в то состояние, которое возникло ПОСЛЕ выполнениях всех-всех /etc/rc.d. А устройства после "пробуждения" будут в состоянии после аппаратного сброса. Значит нужно будет отлавливать событе пробуждения и выполнять всякие скрипты по перезапуску устройств и программ, которые не имеют функции для переустановки устройств в заданное состояние. Которые имеют - им придется посылать сообщение, что надо переустановить устройства.
Тем не менее у notebook-ов работает suspend/resume (иногда). Может быть, конечно там устройства сохраняют свое состояние во время suspend-a. А я что-то не припомню в модулях драйверов функций restart with given state.
Тем не менее у notebook-ов работает suspend/resume (иногда). Может быть, конечно там устройства сохраняют свое состояние во время suspend-a. А я что-то не припомню в модулях драйверов функций restart with given state.