От товарища
anarhist1 :
Увеличение скорости загрузки ОС, HOWTO как ускорить процесс
WARNING: ВНИМАНИЕ! Все позиции которые описываются ниже не зафиксированы в официальной документации. Производите изменения ТОЛЬКО за свой СТРАХ и РИСК. Перед выполнением НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ сделать полный BACKUP системы. А так же считаю нужным предупредить - если Вы не понимаете того что делаете - лучше не делайте этого.
Добрый день.
Я не знаю верно ли я поступаю, но поскольку возникает много вопросов про повышение скорости работы ОС, я хочу опубликовать чужие труды в своем посте.
Итак, данный метод я испробовал на себе, скорость загрузки увеличилась в 2-а раза. Этот метод применялся для серверов, но я его применил на dekstop (домашний компьютер).
Поехали:
1. Я надеюсь, что вы что-то почерпнете отсюда, а не только просто скопируете. Так что, пожалуйста, **НЕ СЛЕДУЙТЕ** точно тому, что я сделал, просто копируя. Прочитайте описания сервисов и определите самостоятельно - хотите ли Вы их оставить или нет. Например, я выключил GDM у себя, чтобы грузиться сразу в консоль, но если Вы не чувствуете себя уютно в одной консоли, вы должны оставить GDM (или KDM для KUbuntu) чтобы грузится непосредственно в графическую оболочку.
2. Если у Вас возник вопрос о загрузке сервиса и Вы не знаете точно, что он делает, задайте вопрос на форуме
http://forum.ubuntu.ru и посмотрите, сможет ли кто-то помочь Вам. Спросите, прежде чем Вы что-то сделаете, если Вы не знаете. Будет безопаснее оставить сервис включенным чем выключить его, если Вы не знаете, что он делает.
3. Если Вы видите загрузочный сервис, который есть у Вас, но которого нет в этом документе, пожалуйста, дайте нам знать, что это такое (или спросите - прим. переводчика) так, как это сделал я - дайте какое либо описание или предположения о том, должен ли он быть включен или выключен (или и то и другое) на настольном компьютере или ноутбуке.
Это даст Вам возможность простой настройки загрузочного процесса и уровней запуска (runlevel), но это не является необходимым, если Вы хотите сделать это вручную посредством линковки/отлинковки (linking/unlinking) файлов... выбор за Вами.
II. Отлично, это все, что нам нужно. Давайте начнем:
и по одному проанализируем каждый сервис. **Замечание** Некоторых сервисов, которые есть здесь у меня, у Вас может не быть, это нормально. Если у Вас есть какие-то сервисы , которых нет у меня, то Вам нужно исследовать самостоятельно или спросить на форуме... Но это Howto должно охватывать множество из них...
Немного информации об уровнях запуска (runlevel), прежде чем мы начнем их путать...
Все загрузочные процессы выполняются в следующем порядке:
Уровень runlevel S: это первый уровень запуска в загрузочном процессе. Для начала будет вызван скрипт /etc/init.d/rcS и выполнены все процессы из /etc/rcS.d
Уровень runlevel 1: Однопользовательский режим. Все процессы из /etc/rc1.d будут выполнены.
Уровни runlevels 2, 3, 4 и 5: В системах Debian многопользовательская среда может включать или не включать графический режим. Те же процессы из соответственных директорий будут запущены. **Замечание** Это отличается от RedHat, SuSE и других систем, основанных на RPM.
Уровень runlevel 0: Выключение компьютера.
Уровень runlevel 6: Перезагрузка компьютера.
Отлично, вернемся к sysv-rc-conf:
1.
acpi-support - Лучше Вы оставите его отмеченным "X" (крестиком - прим. переводчика) на S runlevel уровне.
2.
acpid - демон acpi. Эти два сервиса предназначены для управления питанием, вполне важно для ноутбуков и настольных компьютеров, так что оставим их включенными.
3.
alsa - Если Вы используете звуковую подсистему alsa оставьте его включенным.
4.
alsa-utils - На моей системе этот сервис предшествует сервису alsa, так что я выключил alsa и включил этот сервис на S уровне. **Замечание**, Я имею ввиду "выключил" - это убрал все "X" (крестики) на всех уровнях запуска (runlevels). Если Вы не имеете его в Вашей системе, не проблема. Просто продолжайте.
5.
anacron - подсистема планировщика cron, которая выполняет любые задания cron, которые не были выполнены вовремя. Вероятно, что Вы выключаете Ваш компьютер, когда приходит время определенного задания cron. Например, updatedb, запланирован на 2 часа утра каждый день, но в этот момент Ваш компьютер был выключен. Тогда, если сервис anacron включен, он попытается выполнить updatedb... Я выключил его, потому что я не выключаю свой ноутбук слишком часто, но это может не относится к Вам и этому сервису.
6.
apmd - Это то, что несколько шокировало меня. Я уже имею включенный acpid и какая выгода иметь еще и включенный apmd? Если Ваш компьютер не такой старый, что даже не может поддерживать acpi, тогда Вы можете попытаться выключить его. Я, в любом случае, выключил.
7.
atd - планировщик задач, наподобие cron. Я выключил его.
8.
binfmt-support - Поддержка ядром других форматов бинарных файлов. Я оставил его включенным.
9.
bluez-utiles - Я выключил его. У меня нет каких-либо устройств с bluetooth.
10.
bootlogd - Оставьте включенным.
11.
cron - Оставьте включенным.
12.
cupsys - подсистема управления Вашим принтером. У меня нет принтера, так что я его выключил, но если у Вас есть, просто оставьте его включенным.
13.
dbus - система Message bus system. Очень важно, оставьте включенным.
14.
dns-clean - В основном для очистки информации dns, когда используются модемные подключения (dial-up). Я не использую такого, так что выключил.
15.
evms - система Enterprise Volumn Management. Я выключил.
16.
fetchmail - демон получения почты. Я выключил.
17.
gdm - Менеджер рабочего стола gnome. Я выключил его, так как сначала я использую загрузку консоли. Оставьте включенным, если хотите загружаться сразу в графический режим (GUI).
18.
gdomap - В действительности, у меня нет предположения, почему этот сервис должен быть включен. Я не видел других систем, имеющих этого демона, так что я выключил его, и не ощущаю, что что-то потерял. Какая выгода включать его на настольном компьютере или ноутбуке?
19.
gpm - Поддержка мыши для консоли. Если Вы чувствуете, что в консоли Вам с мышью лучше, включите его на уровнях runlevel 1 и 2. Это все, что Вам нужно.
20.
halt - Не изменяйте это!
21.
hdparm - скрипт настройки винчестера. Я переместил его с 2, 3, 4, 5 runlevel уровней запуска, но добавил его на S runlevel уровень. Я думаю, что открытие DMA, 32 битного ввода/вывода I/O, и т.д. пораньше будет полезным для стабильности процесса. Так же, я заменил оригинальный скрипт на очень простой, который я сделал сам. Я считаю, что удобнее убрать все эти излишние проверки, если я знаю, что я делаю. Конфигурационный файл находится в /etc/hdparm.conf.
22.
hibernate - Если ваша система поддерживает спящий режим, оставьте включенным. Иначе, это неудобно для Вас.
23.
hotkey-setup - Этот демон устанавливает назначения некоторых клавиш на ноутбуках. Поддерживаемые производители: HP, Acer, ASUS, Sony, Dell, и IBM. Если вы имеете ноутбук этих фирм, вы можете оставить этот сервис включенным, в противном случае в нем нет никакой пользы для Вас.
24.
hotplug and hotplug-net - активация подсистемы hotplug занимает время. Я счел возможным выключить его. Я сделал некоторые изменения в моем /etc/network/interfaces файле. Вместо подключения моей беспроводной сетевой карты (wireless card) через процесс hotplug, я установил ее в auto. Так что, я могу его выключить. Я проверил, что после выключения ubuntu все равно может определять мой usb драйвер, мой цифровой фотоаппарат, и т.д. Так что я думаю вполне безопасно его выключить. **Замечание** Если Вы заметите, что ваша звуковая карта перестала работать после выключения сервиса hotplug, Вы можете включить его обратно. Или отредактируйте файл /etc/modules чтобы добавить модуль драйвера вашей звуковой карты. Проверено, что последнее быстрее.
25.
hplip - подсистема печати и изображений HP. Я выключил ее.
26. ifrename - скрипт переименовывания сетевого интерфейса network interface rename script. Звучит достаточно ясно, но я выключил его. В основном предназначен для управления множеством названий сетевых интерфейсов. Так как у меня есть беспроводная сетевая карта и обычная сетевая карта все они назначены как eth0 и ath0 из ядра, так что это не очень удобно для меня.
27.
ifupdown and ifupdown-clean - Оставьте включенными. Это скрипты активации сетевых интерфейсов для загрузки.
28.
inetd or inetd.real - посмотрите ваш файл /etc/inetd.conf и закомментируйте любые сервисы, которые Вам не нужны. Если там нет никаких сервисов, то вполне безопасно отключить эти.
29.
klogd - Оставьте включенным.
30.
linux-restricted-modules-common - Вам необходимо посмотреть, есть ли у Вас действительно какие-либо загруженные ограниченные (restricted) модули в Вашей системе. Так как я нуждаюсь в madwifi ath_pci модуле, я оставил это включенным. Ограниченные модули могут быть найдены в /lib/linux-restricted-modules. Если Вы обнаружите, что вы не используете подобных модулей, то вполне можете выключить этот сервис. (к ограниченным модулям относятся проприетарные драйвера nvidia и ati, так что будте внимательны - прим. переводчика).
31.
lvm - Я не использую это, так что выключил. Оставьте включенным, если у вас *ЕСТЬ* lvm. (Logical Volume Managment - система управления логическими дисками, если Вы не выбирали ее при установке, то скорее всего у Вас ее нет, но будте очень внимательны - прим. переводчика)
32.
makedev - Не выключайте.
33.
mdamd - Инструмент управления Raid . Я не использую, так что выключил.
34.
module-init-tools - Загружает дополнительные модули из файла /etc/modules. Вы можете исследовать Ваш /etc/modules файл, и посмотреть есть ли здесь какие-то модули, которые Вам не нужны. Обычно, это включено.
35.
networking - устанавливает сетевые интерфейсы и настраивает информацию dns в процессе загрузки, сканируя файл /etc/network/interfaces. Оставьте включенным.
36.
ntpdate - Синхронизирует время с сервером времени ubuntu. Я не нуждаюсь в этом во время загрузки, так что выключил.
37.
nvidia-kernel - Я скомпилировал драйвер nvidia самостоятельно, так что мне этот сервис не нужен. Если Вы используете драйвер ubuntu nvidia из ограниченных (restrict) модулей, просто оставьте его включенным.
38.
pcmcia - Включение pcmcia устройства. Я изменил его на запуск на S runlevel уровне вместо каждого 2,3,4,5 потому что, я считаю, что лучше иметь устройство включенным при старте. Также, это не нужно, если Вы используете настольный компьютер, который не имеет pcmcia карты. В этом случае, выключите его пожалуйста.
39.
portmap - демон управления такими сервисами как nis, nfs и т.д. Если Ваш ноутбук или настольный компьютер является только клиентом, то выключите его.
40.
powernowd - Клиент для управления частотой процессора (cpufreq). В основном предназначен для ноутбуков поддерживающих технологию CPU speed stepping technology. Обычно, Вы должны иметь этот сервис включенным, если Вы настраиваете ноутбук, но для настольных компьютеров это может быть не нужно.
41.
ppp and ppp-dns - Не нужно для меня. У меня нет модемного подключения (dial-up).
42.
readahead - **Спасибо mr_pouit!** Это выглядит как один из видов предзагрузчика ("preloader"). При запуске этот сервис загружает некоторые библиотеки в память, так что некоторые программы запускаются быстрее. Но он увеличивает время загрузки на 3-4 секунды. Так что, Вы можете либо оставить его... либо нет. **ОБНОВЛЕНО** Я попробовал его выключить и не заметил какой-либо разницы в запуске программ. Так что я его выключил. Если по какой либо причине Вы хотите оставить его включенным - оставьте.
43.
reboot - Не изменяйте это!
44.
resolvconf- автоматически настраивает информацию DNS относительно Вашего сетевого статуса. Я оставил включенным.
45.
rmnologin - Удаляет nologin если найдет его. Это не произойдет на моем ноутбуке, так что я выключил его.
46.
rsync - демон rsync. Я не использую его на своем ноутбуке, так что выключил.
47.
sendsigs - посылает сигналы перед перезагрузкой или выключением. Просто оставьте все как есть.
48.
single - Активирует однопользовательский режим. Оставьте как есть.
49.
ssh - демон ssh . Мне он нужен, так что я оставил включенным.
50.
stop-bootlogd - останавливает bootlogd на 2,3,4,5 runlevel уровнях. Оставьте как есть.
51. sudo - проверяет статус sudo. Я не вижу что-то хорошего в его запуске каждый раз на ноутбуке или настольном компьютере - клиенте, так что я выключил.
52.
sysklogd - Просто оставьте как есть.
53.
udev and udev-mab - файловая система userspace dev. Лучше оставить ее включенной.
54.
umountfs - Просто оставьте как есть.
55.
urandom - Генератор случайных чисел. Может и не нужно, но я его оставил.
56.
usplash - Ну, если Вы действительно хотите видеть красивый загрузочный экран, то оставьте как есть. Я, в любом случае, выключил. Если Вы хотите его выключить, Вам так же нужно отредактировать файл /boot/grub/menu.lst и закомментировать строчку splashimage и удалить загрузочную опцию ядра splash.
57.
vbesave - инструмент настройки BIOS'a видеокарты. Он позволяет сохранять статус вашей видеокарты. Я оставил включенным.
58.
xorg-common - устанавливает ICE сокет X сервера. Я переместил его запуск с уровня runlevel S на уровни runlevel 2,3,4,5., так как я не нуждаюсь в этом, если я загружаюсь в однопользовательский режим. В этом случае он не будет занимать время начальной загрузки.
III.
Внимание, в этом пункте содержится устаревшая информация, смотрим ссылку в самом низу поста!Теперь, откроем файл /etc/inittab (если Вы не root - выполните эту команду с sudo, и vi можно заменить на gedit - прим. переводчика) Код:
vi /etc/inittab или sudo gedit /etc/inittab
затем закомментируйте строки с tty4,tty5 и tty6. Просто оставьте tty1, tty2 и tty3. Три терминала должно быть вполне достаточно для пользователя настольного компьютера или ноутбука. Сохраните файл.
IV. Отлично, теперь мы можем перезагрузиться и посмотреть как пойдет загрузка. Из того, что я протестировал, прежде чем я остановил тонны сервисов, следует, что весь процесс занимал от 85 до 90 секунд для загрузки в консоль. (В то время у меня так же были включены сервисы samba и nfs, чего я не хотел. По-видимому, их я тоже выключил). После проделанных изменений, весь загрузочный процесс занял около 50 секунд. У меня ноутбук на процессоре P4M 1.8G. Некоторые из первоклассных настольных компьютеров или ноутбуков должны показывать меньшее время.
**ОБНОВЛЕНИЕ**: ускорение/очистка перезагрузки системы или выключения питания.
1. Запустите sysv-rc-conf используя: Код:
sudo sysv-rc-conf
2. Отлично, разуйте Ваши глаза и очень внимательно посмотрите, какие СЕРВИСЫ НЕ ИМЕЮТ "X" (крестик) НА ВСЕХ УРОВНЯХ ЗАПУСКА (RUNLEVELS) (Все уровни означает 1,2,3,4,5,6 и S), запишите их названия одно за другим. Не сделайте здесь ошибок, вообщем семь раз отмерь...
3. Выйдите из sysv-rc-conf.
4.
- Это для процесса выключения системы.
5. Отлично, теперь,
покажет все ссылки начинающиеся с ЗАГЛАВНОЙ буквы "K". Сравните их со своим списком, измените каждое имя файла, содержащееся в Вашем списке так, чтобы оно начиналось со строчной "k". Например, в Вашем списке у Вас есть сервис ppp (т.е. имеется ввиду, что ppp выключен на всех уровнях запуска (runlevels)), Тогда Вы можете сделать следующее: Код:
sudo mv K00ppp k00ppp
Вы просто изменили ЗАГЛАВНУЮ K на строчную k, оставив остальное точно таким же. Проделайте эту операцию со всеми сервисами, которые есть в Вашем списке.
6.
- Это для процесса перезагрузки системы.
7. отлично, Вы должны здесь увидеть тоже самое. Так что проделайте ту же операцию, что Вы проделали в rc0.d.
8. Теперь ваши процессы перезагрузки и выключения питания должны быть чистыми и проходить быстрее.
Обьяснение того, что Вы сделали - очень простое. Скрипты /etc/rc и /etc/rcS запускают каждую ссылку на каждом уровне запуска, проверяя начинается ли ссылка с ЗАГЛАВНОЙ "S", и останавливают, проверяя, чтобы ссылка начиналась с ЗАГЛАВНОЙ "K". Так, для уровней перезагрузки и выключения питания, большинство тех "K"-ссылок для тех сервисов, которые не запускаются на всех уровнях запуска не нужны, чтобы их останавливать. Они вообще не запускаются. Если в какой-нибудь из дней Вы вдруг решите включить какой-либо из этих сервисов, просто измените строчную "k" на ЗАГЛАВНУЮ "K". Вот и все.
В любом случае, это не предназначено для работы на серверах, но я пробовал на своих серверах с 2.7G P4 и 1.5G памяти. Процесс загрузки уменьшился до 31 секунды. Я посчитал это с помощью своих часов. Кроме того, это с моими ftp и nfs серверами, запускавшимися при загрузке.
Взято из
http://forum.saransk.ru/index.php?automodu...;showentry=4482
Харитон писал(а): ↑30.01.2009 15:43
все ок, но есть странность одна(в статье от анархиста)
в кубунту 8.04 нет файла /etc/inittab да и в 7.10 не было...
он есть в редхатах и опенсузях...
от модератора unflag:
+1
Уже пару лет в убубнту используется upstart. Так что статья несколько устаревшая.