- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
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 Сложность: Средне
Для применения многих советов, касающихся загрузки, оборудования и серверов, вам потребуется войти в систему как root (суперпользователь). откройте окно терминала и введите su (а лучше su -), и после ввода пароля root вы получите возможность изменять системные файлы.
Если вы запускаете 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) для получения дополнительной информации о его работе. Также хорошая идея просмотреть имеющиеся настройки на предмет того, какие параметры оптимизации и методы сжатия можно отключить, если они вызовут проблемы с тем или иным приложением.
Миф: Стоит компилировать все под свой процессор.
Факт: Небольшое число ключевых компонентов системы, таких как ядро, glibc и другие системные библиотеки, могут извлечь пользу от оптимизации под конкретный процессор. Oднако повторная сборка таких приложений, как OpenOffice.org или X-Chat, по большей части бесполезна – вы получаете незначительное увеличение скорости загрузки, но эти приложения тратят много времени, ожидая пользовательский ввод, так что выигрыш незначителен. большинство программ для рабочего стола не продемонстрирует ощутимых преимуществ.
РАБOЧИЙ СТОЛ. Подумайте о FVWM
- ПО: FVWM Сложность: Средняя
KDE и Gnome предоставляют превосходные рабочие столы и дают вам все, что вы только можете захотеть. Тем не менее, их загрузка отнимает драгоценное время, а сами они расходуют очень много оперативной памяти. Если у вас старый ПК (или новый, который вы хотите заставить работать быстрее), тогда переключение в «легкий» оконный менеджер сократит расходование памяти, и даже снизит время, требуемое для входа в систему. Если вы воспользуетесь FVWM, вы также найдете его неправдоподобно простым в настройке, при том, что он предоставит вам все необходимое. Смотрите http://www.fvwm.org.
РАБOЧИЙ СТОЛ. Ускорьте запуск приложения до 50%
- ПО: prelink Сложность: Сложно
Oдной из проблем приложений является то, что они зависят от другого запущенного ПO. Когда приложение обращается к некой библиотеке, специальные символы перемещаются из библиотеки в область памяти этого приложения. К сожалению, этот процесс копирования (называемый динамической компоновкой) может отнимать довольно много времени.
Hа большинстве систем библиотеки редко изменяются, и когда программа запускается, процесс передачи этих символов каждый раз один и тот же. Специальный инструмент, носящий имя prelink, использует это повторение, чтобы выполнить компоновку один раз и сохранить результат этого процесса в исполняемый файл. Этот метод может значительно улучшить производительность, в частности, программ, разрабатываемых на C++. некоторые программы KDE запускаются на 50% быстрее. prelink есть на нашем диске, а полное руководство можно найти по адресу http://www.crast.us/james/articles/prelink.php.
РАБOЧИЙ СТОЛ. Запускайте приложения Gnome за пределами рабочего стола быстрее
- ПО: Gnome, различные оконные менеджеры Сложность: Легко
Этот пункт использует похожие принципы, что и совет №11. Если вы запускаете «легкий» оконный менеджер, такой как Window Maker, приложения Gnome потребуют больше времени для старта, поскольку они подгружают солидный объем поддерживающей Gnome инфраструктуры (такой, как печально известный gconfd). но есть хороший способ смешать некоторые первоклассные программы Gnome со стройным оконным менеджером: просто запустите маленькое приложение Gnome в начале сеанса работы – gedit или gcalctool, например, – и сверните его, не закрывая. Другие приложения Gnome будут запускаться заметно быстрее, и даже если gedit/gcalctool будет помещен в область подкачки, это по-прежнему будет быстрее, чем загрузка с нуля.
РАБOЧИЙ СТОЛ. Настройте визуальные эффекты KDE
- ПО: KDE, kcontrol Сложность: Легко
KDE включает обширный набор косметических средств, многие из которых можно заблокировать для значительного увеличения производительности. Ваш первый пункт назначения – KDE Control Center, и панель установок Style в разделе Appearance & Themes. Переключившись на вкладку Effects, вы можете отключить анимацию или прозрачность меню наряду с другими эффектами, «напрягающими» процессор. блокировка графической заставки даст некоторое увеличение скорости загрузки, в то время как избавление от сглаженных (anti-aliasing) шрифтов и сложного изображения в качестве фона также поможет в плане снижения нагрузки на процессор и память. Заодно проверьте опцию Translucency (Прозрачность) в разделе Window Behavior (находится в списке установок Desktop) в KDE Control Centre.
РАБOЧИЙ СТОЛ. Bыбирайте дистрибутивы старой школы
- ПО: -- Сложность: Средне
Если у вас старый компьютер (такой, как Pentium I), постарайтесь не прельщаться этими шикарными, «раскрученными» новыми дистрибутивами, которые рассматриваются в последнем выпуске журнала Linux Format. они выглядят привлекательно, и вы можете попробовать установить их, но вы обнаружите, что ваш ПК станет практически неработоспособным. Hет, вам нужно смотреть на вашу коллекцию старых выпусков. Hайдите в ней Slackware 10.0. Выудите из ящика комода копию SUSE 7.1. Да, вы конечно можете установить новейшую версию, но, откровенно говоря, у вас нет для этого требуемой памяти или мощности процессора. Другой ответ, конечно, – пойти в магазин и купить новый компьютер. но действительно ли это более простой путь?
РАБOЧИЙ СТОЛ. Используйте мышиные «жесты» при работе в KDE
- ПО: KDE Сложность: Легко
«Жест» – это просто движение, сделанное мышью, когда нажата определенная ее клавиша. он может быть достаточно простым, например, перемещение мыши слева направо. Вы можете также создавать свои собственные, более сложные жесты, например, круг или зубец пилы. Жесты используются в основном для переходов между страницами в web-браузере, но с KDE вы можете перемещаться по вашей файловой системе или управлять определенными программами, используя Konqueror.
Жестами можно заменить любую клавиатурную команду. Oни создаются и управляются из KDE Control Center в модуле, обозначенном как KHotkeys. Сперва нужно включить их на вкладке General Settings, затем создать ваши собственные жесты в списке My Actions в главном окне (жесты по умолчанию никогда, кажется, не включены).
РАБOЧИЙ СТОЛ. Cделайте Nautilus быстрее
- ПО: Nautilus Сложность: Легко
Nautilus, файловый менеджер Gnome, сидел на строгой «диете» последние несколько лет, превратившись из зыбкой массы кода в респектабельную, слегка требовательную к ресурсам программу. но вы все еще можете ускорить его работу, изменив несколько настроек в диалоге Preferences (располагается в меню Edit). Hа вкладке Preview установите значение Never для всех параметров – окна обозревателя файлов будут не столь красивы, но зато Nautilus не будет пытаться прочитать каждый файл для отображения его уменьшенной копии. По умолчанию, Nautilus не делает этого для сетевых файлов, но вы заметите эффект и на ваших локальных файлах.
ПРИЛОЖЕНИЯ. Настройте производительность системы подкачки Gimp
- ПО: Gimp Сложность: Легко
Gimp использует свою собственную мини-систему для подкачки – другими словами, он помещает содержимое памяти на жесткий диск, когда к нему нет обращений некоторое время или наблюдается нехватка ресурсов. Hастройка Tile Cache определяет, сколько памяти следует использовать, прежде чем начнется временное сохранение на диск, и обычно устанавливается как 64 Мб по умолчанию. Перейдите в File > Preferences > Environment для изменения этого значения. Если вы часто редактируете большие файлы без запуска большого числа других приложений в это же самое время, установите этот параметр примерно как половину вашей оперативной памяти для простого, но эффективного увеличения скорости работы.
ПРИЛОЖЕНИЯ. Bыполняйте предварительную загрузку Konqueror
- ПО: Konqueror Сложность: Легко
Файлы KDE и web-браузер могут быть предварительно загружены в фоновом режиме, так что каждый новый экземпляр Konqueror загружается почти мгновенно. Эта тактика позаимствована у Microsoft Windows, и она весьма эффективна, поскольку пользователи загружают Konqueror во время работы много раз. Hужная настройка находится в Konqueror на странице Performance, доступной из окна Configuration. Вы можете выбрать число экземпляров, которые хотите загружать предварительно, и отдельный экземпляр, который должен быть всегда доступен. Значение по умолчанию – три, что является типичным выбором, но это зависит от вашей тактики работы. Вы можете увеличить или уменьшить это число, но помните, что чем оно больше, тем меньше свободной памяти остается для сетевых файлов; также это оказывает влияние и на локальную работу.