Журнал LinuxFormat - перейти на главную

LXF72:Советы по ускорению

Материал из Linuxformat
Перейти к: навигация, поиск
Советы по ускорению

72-я скорость


Ваш дистрибутив работает очень медленно? Ищите способы дополнительно увеличить его подвижность? Майк Саундерс (Mike Saunders) потратил последние шесть лет на тонкую настройку производительности дистрибутивов Linux и все еще жаждет скорости… С дополнительными заметками ему помогли Грэхем Моррисон (Graham Morrison) и Марк Бэйн (Mark Bain).

Вопрос: что может быть лучше, чем быстрый ПК? Ответ: по-настоящему быстрый ПК. К сожалению, нехватка денег означает, что мы не  можем постоянно выкидывать их на покупку более мощного оборудования, чтобы получать все более быструю систему. Но, к  счастью, программное обеспечение тоже играет не менее важную роль. В случае с Linux, модульная структура ядра, стартовых сценариев, графического интерфейса пользователя и приложений означает, что они довольно хорошо подстраиваются для  прироста в скорости.

Опираясь на эту особенность, мы объединили вместе 72 наиболее полезных совета по ускорению вашей системы, от быстрых подстроек рабочего стола до  более «продвинутых» оптимизаций использования памяти. «Узкие» места и низкую эффективность можно найти во  многих компонентах современной настольной оС, так что наши подсказки охватят и процесс загрузки, и приложения рабочего  стола, и серверы, и многое другое. Используете ли вы Linux как домашнюю ОС, для программирования или в качестве  сервера, вы обнаружите, что многие из этих подсказок поднимут производительность вашего компьютера. Если вы молча  страдаете от медлительности вашей машины или, наоборот, громко проклинаете долгую загрузку на форумах по Linux, уделите  немного времени, чтобы попробовать некоторые из этих решений. и вы сможете увидеть значительную разницу.

Мы исследовали и протестировали эти советы на различных дистрибутивах, рассмотрели способы, как это можно сделать более эффективно, при этом одни были  более трудоемкие, чем другие. Поэтому мы присвоили им уровень сложности, так что вы можете оценить, насколько доступны  они на первый взгляд. Мы также уделили внимание необходимому для такой оптимизации ПО. Вы найдете на следующих страницах много существенных подсказок,  которые стоит попробовать, так что без дальнейших отступлений откроем бутылку пива и - вперед!

ПРЕДУПРЕЖДЕНИЕ!

Мы тщательно протестировали все эти советы. Большая часть из них относится к программному обеспечению, а не к оборудованию, но мы не берем  на себя никакой ответственности за потери данных или повреждения в результате их использования. Pедакция Linux Format не несет ответственности,  если вы сломаете свой компьютер!


Содержание

ЗАГРУЗКА. Сократите задержку загрузчика

ПО: LILO/GRUB • Сложность: Легко

Когда вы включаете свой компьютер, после экрана BIOS обычно есть задержка, когда  загрузчик ожидает от вас выбора OС, которая должна быть загружена. Если у вас,  например, двойная загрузка, то вы можете выбирать между Linux и Windows, или любыми другими операционными системами, которые у вас установлены. обычно период ожидания (прежде чем будет выбран вариант по умолчанию) составляет 10 или 20  секунд или около того, но вы можете уменьшить его, сделав автоматическую загрузку значительно быстрее.

Если вы используете загрузчик GRUB, отредактируйте menu.lst или grub.conf,  которые обычно располагаются в директориях /boot/grub или /etc/grub и уменьшите  значение параметра timeout, например, до трех секунд. Для LILO откройте файл  /etc/lilo.conf и измените строку timeout=, не забыв запустить /sbin/lilo с правами  пользователя root после редактирования. При следующей загрузке пауза будет значительно меньше.

ЗАГРУЗКА. Отключите ненужные службы

ПО: — • Сложность: Средне

Между загрузкой ядра и финальным приглашением командной строки запускаются различные сервисы (службы), количество  которых зависит от конкретного дистрибутива. Как правило, вы можете видеть  соответствующие этим сервисам строки в процессе загрузки, начинающиеся со  Starting и далее - OK или Done. Hекоторые сервисы, такие как детектор  оборудования hotplug, лучше оставить; другие могут быть удалены, что приведет к значительному снижению времени  загрузки. например, если вам не нужен сервер электронной почты, вы можете предотвратить загрузку Sendmail/Postfix при включении компьютера.

Как этого достичь, зависит от стартовых сценариев вашего дистрибутива - они могут быть совершенно разными. Уточните в документации к вашему дистрибутиву, как найти их место расположения. на большинстве систем, впрочем, вы можете зайти в каталог /etc/init.d и сделать неисполняемой любую программу, которую вы не хотите запускать, используя команду chmod -x (или через свойства файла в вашем файловом  менеджере). Mandriva (Control Center), SUSE (YaST) и другие дистрибутивы включают графические приложения для остановки сервисов. загляните внутрь стартовых сценариев.

(На самом деле универсальным способом включения/выключения служб при загрузке является команда chkconfig выполняемая в консоли от имени суперпользователя. С ее синтаксисом легко разобраться набрав man chkconfig)

Ник считает…

«Всегда есть небольшой риск отключить что-то, что вам действительно нужно. Если вы сомневаетесь, оставляйте сервис включенным как есть, и изучайте его. Вы всегда сможете отключить его позже.»


ЗАГРУЗКА. Уменьшите задержки sleep (1)

ПО: • Сложность: Сложно

  Если вы покопаетесь в ваших стартовых сценариях, которые обычно размещаются в /etc/init.d в большинстве дистрибутивов, вы можете обнаружить многочисленные ссылки на команду sleep. Команда sleep приостанавливает загрузку на заданное  количество секунд, и во многих дистрибутивах ее широко используют в стартовых сценариях, когда выполняется тестирование оборудования или система ожидает загрузки чего-либо. Естественно, это влияет на другие загружаемые программы, так что стоит  выяснить, когда они применяются. Пример для систем, основанных на Debian:

# grep -r sleep /etc/init.d

Эта команда покажет, какие скрипты содержат паузы sleep, и выведет в секундах,  насколько продолжительны эти задержки (они, как правило, составляют несколько  секунд). Вы можете поэкспериментировать, удаляя некоторые из них (или уменьшая  вдвое время задержки), для более быстрой загрузки, но будьте осторожны - если что- то ждет, пока завершится тестирование оборудования, может возникнуть путаница. Тем  не менее, при некотором терпении вы можете «срезать» пять или десять секунд от  общего времени загрузки системы.

ЗАГРУЗКА. Загружайтесь в текстовый режим

ПО: NXDM/GDM/KDM Сложность: Средне

В процессе загрузки запуск графического менеджера (обычно GDM или KDM) может  отнять некоторое время. Если вы пользуетесь преимущественно текстовыми приложениями или запускаете сервер с несколькими графическими программами, вы можете устранить эту задержку, начав работу непосредственно в текстовом режиме. Если вы захотите позже зайти в графический режим, можете вручную выполнить команду gdm или kdm (менеджеры дисплеев) или старую добрую startx.

Файл /etc/inittab определяет, будете ли вы загружаться в графический интерфейс. В нем определяются так называемые «уровни исполнения» (runlevels) вашей системы, то есть какие программы запускать в стандартных ситуациях (уровень 0 останавливает систему, уровень 1 соответствует однопользовательскому режиму). Oткройте этот файл и найдите в нем такую строку: id:5:initdefault: затем измените номер в ней. Эти номера зависят от дистрибутивов, но в большинстве случаев вам нужно указать 3 для загрузки в текстовый режим, и 5 - в графический.  Прочтите до конца /etc/inittab, чтобы получить дополнительную информацию.

ЗАГРУЗКА. Уменьшите время ожидания DHCP

ПО: DHCP • Сложность: Легко==

Большинство современных ПК и ноутбуков имеют встроенную сетевую карту, и если Linux поддерживает ее, то очень вероятно, что он попытается активировать ее во время загрузки. Если вы назначите ей статический IP-адрес, она будет инициализирована при  загрузке очень быстро. Hо если вы получаете IP с помощью DHCP, это может привести к задержке. Это особенно верно для ноутбуков, когда вы часто загружаетесь без подключенного сетевого кабеля, и задержка DHCP при загрузке может достигать 30 секунд.

Чтобы сократить его, найдите и откройте файл dhclient.conf (обычно в каталоге /etc или /etc/dhcp3). Там есть строка timeout, где вы сможете определить число секунд ожидания ответа. Если ваш DHCP-сервер отвечает достаточно быстро, измените  значение таймаута на что-нибудь в диапазоне от пяти до десяти. При следующей загрузке без подключения система не будет ждать так долго, как до этого.

ЗАГРУЗКА. Быстрая загрузка с помощью XDM

'ПО: XDM/GDM/KDM Сложность: Средне


Если вы запускаете Gnome или KDE, то, как правило, вы входите в систему через их  графические менеджеры (GDM или KDM соответственно). Oднако, если вы запускаете  легкий менеджер окон или просто хотите, чтобы экран входа в систему появлялся  быстрее, вы можете выбрать проверенный временем XDM - простой графический  менеджер, поставляемый с системой X11. Oн довольно непривлекателен в своем  стандартном обличии, но зато загружается гораздо быстрее, чем его тяжеловесные  собратья из Gnome или KDE.

Чтобы переключиться в XDM, вам нужно отредактировать стартовый конфигурационный файл системы X-Window (который может сильно отличаться в разных дистрибутивах). Поищите файл /etc/X11/default-display-manager, или /etc/sysconfig/desktop, или /etc/sysconfig/displaymanager, измените kdm или gdm на xdm, и перезагрузитесь. Теперь графический менеджер будет появляться намного быстрее.

ЗАГРУЗКА. Oтключите графику при загрузке

ПО: RHGB и др. графические загрузчики Сложность: Средне

Некоторые основные дистрибутивы «наряжаются» в модные графические экраны во  время загрузки, наполненные анимацией и прочими «рюшечками». (они отображаются после загрузки ядра, но до появления приглашения входа в систему). Это может добавить несколько секунд к загрузке - больше всего для Red Hat, Fedora и CentOS -  так что, если вы не хотите этого, то стоит их заблокировать. Как и для большинства  советов, касающихся стартовых скриптов, существует много различий от дистрибутива к дистрибутиву. В Red Hat и Fedora удалите rhgb из строк ядра в /boot/grub/grub.conf. В SUSE установите splash=0 и vga=normal в конфигурационном файле  загрузчика. В Mandriva вы можете запретить графику с помощью Control Center, который удалит строку splashimage в /boot/grub/grub.conf.

ЗАГРУЗКА. Загружайтесь молниеносно

ПО: InitNG Сложность: Сложно==

  Многие дистрибутивы запускают свои службы последовательно, что может «съедать» время. Почему бы не загрузить группу сервисов, пока один из них ожидает чего-либо? InitNG загружает сервисы параллельно; то есть, он не позволяет одному сервису  задерживать другие, и время загрузки может сократиться на 50 % и даже больше. 

Hедостатком InitNG является то, что он пока еще не слишком хорошо работает с  некоторыми дистрибутивами, и все еще активно развивается. Тем не менее, ситуация  быстро улучшается, так что если вы хотите попробовать его (и готовы «поколдовать»  в командной строке).

ЗАГРУЗКА. Перезагружайтесь быстро

ПО: Suspend Сложность: Сложно

Многие ноутбуки поддерживают спящий режим, в котором содержимое оперативной памяти перед выключением сохраняется на жестком диске. Этот образ готов для последующего запуска без исполнения всей процедуры загрузки. Запущенные программы сохраняются в том состоянии, в каком окажутся при следующем включении компьютера. Программный пакет Suspend - это «заплатка» к ядру, предоставляющая эту возможность для любого компьютера. загрузить это расширение к ядру можно с http://www.suspend2.net вместе со сценарием поддержки спящего режима. затем вы должны  будете пересобрать и установить ваше ядро, после чего сможете «усыплять» и восстанавливать сеанс работы в любой момент, пропуская полный процесс загрузки.

РАБOЧИЙ СТОЛ. Измените менеджер окон в Gnome

ПО: Metacity Сложность: Легко==

Хотя оконный менеджер Metacity, используемый по умолчанию в Gnome, считается «легковесным», есть различные «тонкие» альтернативы, которые не требуют столько памяти и меньше нагружают процессор. один из лучших - Openbox (http://icculus.org/openbox), который вы сможете найти на нашем диске. Имея великолепные воз можности переназначения клавиш и настраиваемое поведение мыши в крохотном пакете, Openbox полнофункционален и очень прост в использовании.

Чтобы заменить Metacity, скомпилируйте и установите Openbox. Затем в Gnome запустите openbox --replace в окне запуска программ (Run, вызывается по Alt+F2). Это переключит оконный менеджер. чтобы сделать изменение постоянным, выберите Save Session при выходе. Попробуйте также еще более легкую замену - Oroborus (http://www.oroborus.org).

РАБOЧИЙ СТОЛ. Запускайте приложения KDE быстрее в других оконных менеджерах

ПО: KDE • Сложность: Легко

Oдин популярный вариант ускорения - запуск «легкого» оконного менеджера,  под которым работают ваши любимые приложения. Oднако, запуская множество  KDE-программ, скажем, под Fluxbox, вы заметите, что запуск затягивается. Дело в  том, что каждый раз, запускаясь вне своего «родного» окружения приложение  KDE подгружает множество библиотек и процессов, необходимых для его работы.

К счастью, есть простой способ обойти эту проблему. В своем оконном менеджере откройте терминал и введите  kdeinit. Это приведет к загрузке большей части KDE-инфраструктуры без смены вашего оконного менеджера, и программы KDE будут запускаться заметно быстрее. Вы можете поместить вызов kdeinit в стартовый сценарий вашего оконного менеджера, чтобы он выполнялся  автоматически.


Пол считает…

«Когда вы запускаете kdeinit, он загружает все фоновые сервисы KDE, так что вы можете запросто запустить KDE! Или (кхе-кхе) Gnome…»

РАБOЧИЙ СТОЛ. Увеличьте производительность системы X11 при работе в сети

ПО: X11, lbxproxy • Сложность: Легко

Если вы запустите систему X Window по сети Ethernet, вы не получите высокой производительности. Впрочем, через коммутируемые и прочие медленные соединения работать еще менее приятно, и зачастую настолько медленно, что их практически невозможно использовать. Вот действительно быстрое решение: Low Bandwidth X (LBX) Proxy. Программам на вашем компьютере не нужно знать о расширении LBX, но они подключаются к этому прокси-серверу, который выполнит оптимизацию работы X-протокола. Это совершенно «гладкое» решение.

lbxproxy поставляется со многими вариантами X.org или предоставляется как отдельное расширение. Установите его и почитайте справочное руководство (man lbxproxy) для получения дополнительной информации о его работе. Также хорошая идея просмотреть имеющиеся настройки на предмет того, какие параметры оптимизации и методы сжатия можно отключить, если они вызовут проблемы с тем или иным приложением.


Персональные инструменты
купить
подписаться
Яндекс.Метрика