
Поставил bootchart, чтобы посмотреть как быстро загружается система. В итоге все закончилось как обычно: просидел весь вечер, копаясь во внутренностях оси… @_@
Итак,
1. Default: 0:23
Неплохой результат, если не учитывать, что система свежая и в ней не установлено ничего ненужного. В убунте сколько было – не помню, старых бутчартов не сохранилось. По-моему, где-то в районе 25-28 сек. на относительно чистой системе. Хотя со временем скорость, конечно, упала – на глаз, примерно секунд до 40-45. Тут я вдруг вспомнил, что по дефолту в дебиане всевозможные системы оптимизации не установлены, и что их можно бы и поставить. Предполагаю, что ненужные сервисы уже отключены (либо их вообще нет), а всякие мелкие гайки (типа таймаута в грабе) закручены. Руководствовался я вот этим мануалом:
http://forums.debian.net/viewtopic.php?t=31275
2. Readahead: 0:21 (-2s)
В ходе загрузки процессор используется не слишком-то активно, а диск сильно загружен (см. диаграмму 1), что не есть хорошо. Readahead, как можно догадаться из названия, заранее загружает необходимые для загрузки файлы в память, и потом они берутся по мере надобности оттуда, а не с винчестера, что ускоряет загрузку. Вы можете увидеть эффект на диаграмме 2: сперва идет кеширование файлов (сильная загрузка винчестера), затем существенно возрастает нагрузка на процессор. В мануале говорится, что это помогает не всем, и иногда это может даже замедлить загрузку на пару секунд, а может и вообще не дать никакого результата. Мне же это дало 2 секунды.
3. Parallel starting: 0:17 (-4s)
Вместо последовательной загрузки сервисов можно включить параллельную, что позволит некоторым сервисам стартовать не дожидаясь друг друга. Говорят, это хорошо для двухъядерных процессоров, но и с одноядерным это явно пойдет на пользу. Обратите внимание, что сперва нужно использовать программу insserv: sudo update-bootsystem-insserv. Это переупорядочит скрипты, чтобы они могли стартовать параллельно, иначе толку не будет. Поскольку речь идет об init скриптах, тут нужно быть аккуратным, иначе могут быть проблемы. CONCURRENCY=shell сработал, но вывод вообщений при загрузке весь сбился и перепутался, поэтому пришлось включить CONCURRENCY=startpar, который у меня работает на 1 секунду дольше, чем shell. Итого еще 4 секунды.
В итоге имеем ускорение в 6 секунд. Возможно, не так уж и много, но в сравнении с общей скоростью загрузки – очень существенно, все-таки 17 секунд – имхо, довольно быстро. Я не ожидал такого результата. Жаль, что этим процесс загрузки не ограничивается: еще долго стартует гном после логина. Но способа ускорить и его я, увы, не знаю.
Включение dash вместо bash ничего не изменило. Некоторые другие штуки тоже не дали результатов:
4. Hwclock
После применения insserv я заметил, что часы устанавливаются дважды. Оказалось, что это удивляет не меня одного, почему так – никто не знает. Говорят, что один из этих скриптов можно безболезненно выключить. В принципе, у меня включен ntp, так что я попробовал так и сделать: sudo insserv -r hwclockfirst.sh Загружаться скрипт перестал совсем, но прироста скорости это не дало, а часы отстали на пару минут (чего происходить не должно было). Поэтому вернул скрипт на место: sudo chkconfig –add hwclockfirst.sh
5. Readahead+gnome
Вот тут нашел ман про ускорение запуска гнома посредством того же readahead. При его запуске с иксами результат я на глаз особо не заметил, а при запуске еще с системой гном действительно стал запускаться быстрее, но при этом скорость загрузки самой системы упала до 29 секунд. Так что, пожалуй, это не то…
Помимо прочего, я включил prelink, но не стал использовать preload.



Опубликовал LG.BALUKATION на 13 Декабрь, 2008 в 11:32 пп
Вот как-то не понимаю я такого… Т. е. вроде и прикольно как бы, но смысла ИМХО мало – многие редко вырубают свои компы или юзают всякие хибернейты.
Опубликовал Starlite на 13 Декабрь, 2008 в 11:58 пп
А у меня шумит громко, я его каждый день выключаю. А хибернейт недолюбливаю – как-то он всегда плохо работал, я его в дебиане даже не пробовал.
К тому же, интерес чисто академический тут тоже присутствует: если можно сделать лучше – сделай. Я читал, что на заре эпохи компьютеров в MIT тогдашние гики соревновались между собой: кто сумеет оптимизировать код программы настолько, что дальше уже будет некуда. Вот и тут то же самое ^_^
Just for fun ^_~
Опубликовал LG.BALUKATION на 14 Декабрь, 2008 в 12:23 дп
В том-то и дело, что реальной пользы от этого не так уж и много – тут больше именно интерес идёт типа «а сделаю-ко я ещё быстрее» =)
Опубликовал Вася Триллер на 14 Декабрь, 2008 в 9:53 пп
Про InitNG забыли
Опубликовал Убунту - шник на 3 Январь, 2009 в 4:50 пп
В итоге все закончилось как обычно: просидел весь вечер, копаясь во внутренностях оси
Как мне это знакомо )) Тоже как увлекусь чем-нить, так с головой =)
—————–
С новым годом Вас