понедельник, 11 мая 2009 г.

Оптимизация загрузки Ubuntu 9.04. Часть 3.

Убил напрочь свою убунту. Экспериментировал с системой стартовых скриптов и insserv. Пока восстановлю, пока заново разберусь во всем, напишу-ка еще один способ оптимизации загрузки.
Если присмотреться к логам bootchart, то можно увидеть, что скорость загрузки ограничивает винчестер в компьютере. Мало того, что скорость чтения с него не такая уж большая, но еще и файлы, которые запускаются при загрузке с винчестера, размазаны по файловой системе и при загрузке, система должна отыскать их и только потом грузить. То есть, на данный момент все происходит вот так: система ищет файл на винчестере, загружает его, запускает, когда тот завершил свою работу, система ищет следующий файл и так далее. Попробуйте хотя-бы подумать, сколько всего этих файлов. Есть выход из этой ситуации. И называется он - readahead. С этой штукой все выглядит иначе. Перед загрузкой файлов, программа readahead по списку ищет и загружает все загрузочные файлы за один раз, а дальше уже все идет проще - система стартовых скриптов запускает один файл, потом другой и т.д. Без предварительного поиска по винчестеру. Это сокращает время загрузки на очень большой процент (но который постоянно колеблется).
И так, открываем synaptic и ставим там пакет readahead. После чего перезагружаемся, но когда появляется меню выбора ОС (меню grub, если не появляется, то нажмите клавишу Esc, как только появится отсчет на экране), выбираем нашу систему и нажимаем клавишу "e", теперь можно отредактировать параметры ядра. В конце строчки "kernel vmlinuz-xx blablabla" пишем слово "profile" (без ковычек естественно и с пробелом между концом строки и самого слова) и нажимаем клавишу "b". Система будет грузится несколько минут, но в последующие разы, слово profile писать не надо. Эта команда генерирует список всех загружаемых вначале файлов в файл /etc/readahead/boot. В следующий раз, после проделанной операции, система будет грузится еще на пару секунд быстрее.
Пока я восстанавливаю свою систему, можете поискать в интернете информацию и почитать вот эти темы:
insserv, readahead, sreadahead, upstart

6 комментариев:

  1. Для не профи следует уточнить способ редактирования.
    Выбираем систему,нажимаем е,затем строку начинающуюся с
    kernel,опять е,редактируем,ввод и b.

    ОтветитьУдалить
  2. Ок, вечером уточню. Спасибо за исправление.

    ОтветитьУдалить
  3. А мне показалось, что в Ubuntu 9.04 readahead уже сразу стоит...

    ОтветитьУдалить
  4. А у меня повле виполнения єтого пункта время загрузки увеличилось с 27 до 37 с.
    комп: AMD Athlon(tm) XP 1800+, оперативка: 245 Мб

    ОтветитьУдалить
  5. ну вы и дрочеры. ради 1-3 секунд хрен знает что вытворять...

    ОтветитьУдалить
  6. После всех выполненных манипуляций (1-3 части, файлсистему не менял), время загрузки...

    ...Увеличилось!!! на 10-11 секунд (хахаха, с 22 до 32).

    eeepc900, eeebuntu3.0standard.

    Кстати, readahead уже был установлен и видимо сконфигурирован. переконфигурация сделала хуже.

    Лучшее - враг хорошего.

    ОтветитьУдалить