- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF72:Советы по ускорению
Материал из Linuxformat.
(→ЯДРО. Добейтесь более эффективной подкачки) |
(→ОБОРУДОВАНИЕ. Ускорьте жесткий диск) |
||
Строка 628: | Строка 628: | ||
|Содержание='''Миф:''' ''Отключение сервисов разгружает процессор и память.'' | |Содержание='''Миф:''' ''Отключение сервисов разгружает процессор и память.'' | ||
- | '''Факт:''' В совете [[LXF72:%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D1%8B_%D0%BF%D0%BE_%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D1%8E | + | '''Факт:''' В совете [[LXF72:%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D1%8B_%D0%BF%D0%BE_%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D1%8E#.D0.97.D0.90.D0.93.D0.A0.D0.A3.D0.97.D0.9A.D0.90._.D0.9E.D1.82.D0.BA.D0.BB.D1.8E.D1.87.D0.B8.D1.82.D0.B5_.D0.BD.D0.B5.D0.BD.D1.83.D0.B6.D0.BD.D1.8B.D0.B5_.D1.81.D0.BB.D1.83.D0.B6.D0.B1.D1.8B|№2]] мы показали, как предотвратить запуск некоторых сервисов во время загрузки, позволяя системе загружаться |
намного быстрее. Oднако это не означает, что ваша система будет быстрее или легче в использовании – многие сервисы находятся в | намного быстрее. Oднако это не означает, что ваша система будет быстрее или легче в использовании – многие сервисы находятся в | ||
бездействии и сбрасываются в область подкачки, так что они редко тратят память или | бездействии и сбрасываются в область подкачки, так что они редко тратят память или |
Версия 10:31, 26 февраля 2009
- Советы по ускорению
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. Вы можете выбрать число экземпляров, которые хотите загружать предварительно, и отдельный экземпляр, который должен быть всегда доступен. Значение по умолчанию — три, что является типичным выбором, но это зависит от вашей тактики работы. Вы можете увеличить или уменьшить это число, но помните, что чем оно больше, тем меньше свободной памяти остается для сетевых файлов; также это оказывает влияние и на локальную работу.
ПРИЛОЖЕНИЯ. Запускайте OpenOffice.org быстрее
- ПО: OpenOffice.org • Сложность: Легко
Удивительно мощный сам по себе, OpenOffice.org все еще загружается непомерно долго. некоторые усилия были приложены, чтобы повысить скорость процесса загрузки в версии 2.0, но без каких-либо заметных результатов. Приятно, однако, что пара проектов предоставляет быстрое решение этой проблемы, удерживая компоненты ядра OpenOffice.org постоянно в памяти. Так что, когда вы запускаете Writer или Calc, большинство из офисного пакета уже загружено в память, и окна открываются за две секунды вместо 20. Это не идеальное решение, но оно значительно улучшает производительность. Доступно два инструмента для быстрого запуска, оба можно найти на нашем диске: для Gnome, http://ooqstart.sourceforge.net ; и для KDE, http://segfaultskde.berlios.de/index .
Миф: Многие дистрибутивы собираются специально для старинных 386-х ПК.
Факт: Эта идея основана на двух фактах:
- Большинство пакетов RPM и Deb имеют цифры «386» в конце,
- Oни не собираются с флагом -march компилятора GCC.
В действительности, большинство дистрибутивов собирают пакеты, используя набор инструкций 80386 для более широкой совместимости с процессорами, но при этом оптимизируются для более современных чипов (флаг -mcpu). Это не столь неэффективно, как кажется на первый взгляд.
ПРИЛОЖЕНИЯ. Работайте быстрее с Firefox
- ПО: Mozilla Firefox • Сложность: Средне
Firefox быстр, но если вы используете широкополосное подключение, вы можете сделать его еще быстрее. Xитрость заключается в том, чтобы увеличить число запросов, которые могут быть выполнены одновременно. Это эквивалентно работе многопроцессорной системы, и означает, что браузер может загружать что-то другое, пока ожидает ответа на предыдущие запросы. Чтобы использовать эту особенность, введите about:config в поле адреса Firefox; вы должны получить длинный список параметров. Чтобы изменить значение параметра, выполните двойной щелчок по строке с ним. network.http.pipelining и network.http.proxy.pipelining требуется установить в True, и выставить значение network.http.pipelining.maxrequests (величина от 20 до 30 работает достаточно хорошо).
ГРЭХЭМ СЧИТАЕТ…
«Остерегайтесь того, что некоторые web-серверы не поддерживают конвейерную обработку. Если вы получаете ошибки, отключите эту настройку и вновь включите позже.»
ПРИЛОЖЕНИЯ. Переключитесь на IMAP
- ПО: почтовые клиенты • Сложность: Средне
Протокол POP популярен уже много лет, и именно его люди используют для загрузки своей почты с сервера. Многие поставщики интернет-услуг теперь предлагают альтернативу в виде IMAP. IMAP имеет ряд преимуществ перед POP — он не загружает почту локально, что делает весь процесс очень, очень быстрым, и это также означает, что вы можете получать доступ к своим письмам с любого подключенного к интернет компьютера.
Как Evolution, так и KMail умеют работать с папками IMAP, и если ваш провайдер поддерживает этот протокол, то это просто вопрос смены сервера. Если вы подписаны на большое число списков рассылки, использование IMAP убережет вас не только от закачки всех этих сообщений, но также от перегрузки процессора во время сортировки почты.
ПРИЛОЖЕНИЯ. Устраните «зависания» браузера
- ПО: все web-браузеры • Сложность: Легко
Время от времени вы посещаете web-страницу, и кажется, что она будет загружаться вечно, или просто останавливается и никогда не завершает свою загрузку. Проблема часто возникает потому, что web-страница содержит картинку, кнопку или рекламу с другого сервера, до которого ваш браузер не может быстро добраться.
Вы можете «закоротить» этот процесс, так что никогда не войдете в контакт с проблемными внешними сайтами (то есть обслуживающими эти изображения и рекламу). Если ваш браузер зависает в состоянии «Looking up <имя сайта>» или «Waiting for <имя сайта>», и этот сайт является внешним по отношению к тому, который вы посещаете, откройте ваш файл /etc/hosts и добавьте в него строку, которая определит проблемный web-сайт так, что он будет указывать на IP-адрес вашего компьютера (localhost):
127.0.0.1 www.someadvertisementsite.com
Теперь основной сайт должен загружаться быстро — когда ваш браузер попытается получить доступ к рекламе с внешнего сайта, он ничего не получит и двинется дальше.
ПРИЛОЖЕНИЯ. Придайте Metacity дополнительную скорость
- ПО: Metacity • Сложность: Легко
По умолчанию Metacity (оконный менеджер Gnome) включает довольно безобразную анимацию при минимизации окна вместе с несколькими другими графическими эффектами, которые можно отключить для повышения скорости. Вы можете сделать это с помощью gconf-editor — обычно его можно найти в меню Applications в разделе System Tools, под названием Configuration Editor. Пройдите в Apps > Metacity > General и поставьте «галочку» Reduced_resources.
Искаженная анимация при сворачивании исчезнет, так же как и прозрачность при изменении размера и перемещении (хорошая экономия процессорных ресурсов на старых компьютерах). Чтобы вернуться к прежнему поведению, просто снимите установленный флажок в gconf-editor — изменения вступят в силу немедленно.
ПРИЛОЖЕНИЯ. Измените приоритеты ваших процессов
- ПО: все приложения • Сложность: Средне
Иногда кажется несправедливым, что одна программа эксплуатирует процессор излишне интенсивно, особенно если это что-то такое, что вы хотели бы запустить «тихо», в фоновом режиме, пока вы делаете другую работу. Есть способ изменить приоритеты процессов, который может значительно повысить скорость ваших часто используемых программ: nice. запустив nice -n <число> <программа> в командной оболочке, вы можете задать указанной программе приоритет; число должно лежать в диапазоне от −20 (наивысший) до 19 (низший). Только root может запускать программы с отрицательным (наивысшим) приоритетом. Аналогично, вы можете изменить приоритет, запустив программу renice. Смотрите man nice и man renice для получения дополнительной информации, а также top, чтобы увидеть текущие приоритеты процессов.
ПРИЛОЖЕНИЯ. Cэкономьте время поиска в Firefox и Konqueror
- ПО: Mozilla Firefox, Konqueror • Сложность: Легко
Вы можете сэкономить значительно времени, используя функции быстрого поиска в этих браузерах. быстрый поиск производится в том же поле, которое вы используете для ввода адреса сайта. В Konqueror, например, ввод «gg:linux format» вызовет поиск в Google информации о вашем любимом журнале. Если вы замените gg на ggi, вы будете вместо этого искать в Google Images. Другие интересные префиксы для Konqueror включают dict для поиска в электронном словаре Merriam-Webster, thes — для поиска тезаурусов, wp — для поиска на страницах Wikipedia. Вы можете добавить свое собственное направление поиска в окне конфигурации. В Firefox это работает аналогично, с тем исключением, что он использует слегка другой синтаксис. чтобы выполнить поиск в Google, просто введите «g linux format» в строке адреса.
Ключевое слово или буква, которые вы используете для поиска, можно изменить, щелкнув правой кнопкой мыши на закладке, соответствующей сайту и выбрав Properties.
ПРИЛОЖЕНИЯ. Cоздайте привязку клавиш в Gnome
- ПО: gconf-editor • Сложность: Средне
Вы можете создавать горячие клавиши, чтобы запускать ваши любимые приложения из Gnome без блуждания по меню. Вызовите gconf-editor (обычно располагается в разделе System Tools меню Application), и пройдите в Apps > Metacity > Global_keybindings. Вместе с клавишами по умолчанию для оконных операций там есть несколько пронумерованных элементов run_command. Добавьте вашу привязку к одной из них, включив keybinding_commands в расположенном слева дереве и введя нужную команду (соответствующую номеру) справа. Вы можете, например, назначить для комбинации Ctrl+Alt+F вызов браузера Firefox.
ПРИЛОЖЕНИЯ. Подключайтесь к сети мгновенно
- ПО: ifplugd • Сложность: Средне
ifplugd (есть на нашем диске) — это служба, которая наблюдает за вашим соединением Ethernet, проверяя, работает оно или отключено. Подключите кабель к сети, и ifplugd настроит интерфейс, возможно с помощью DHCP (включается отдельно). Oтключите кабель, и ifplugd заблокирует интерфейс. Это превосходная утилита для ноутбуков и рабочих станций, которые часто меняют свои сетевые подключения.
Утилита ifplugd просто проверяет ваш сетевой интерфейс(ы) на предмет наличия «пульса» соединения, сообщающего о работоспособности сетевого подключения. Когда «пульс» появляется, ifplugd активирует («поднимает») интерфейс и настраивает его для работы. Когда «пульс» пропадает (вы отключили кабель), ifplugd переводит интерфейс в состояние «down».
Смотрите документацию в исходных кодах или на сайте http://0pointer.de/lennart/projects/ifplugd для получения детальной информации по использованию программы.
ПРИЛОЖЕНИЯ. Ускорьте загрузку OpenOffice.org
- ПО: OpenOffice.org • Сложность: Легко
Если совет № 22 вам не подходит, есть другой способ сократить тревожно долгую загрузку OpenOffice.org. Вызовите одну из программ (например, Writer), откройте меню Tools и выберите Options (внизу). В меню OpenOffice.org есть раздел Memory. В Graphics Cache измените параметры Use For OpenOffice.org до значения 30 Мб и Memory Per Object до 2.0 Мб. Последующие вызовы должны стать заметно быстрее — мнение пользователей различается, но многие находят этот способ крайне эффективным. Примените этот подход совместно с советом № 22, чтобы сделать скорость загрузки действительно приемлемой.
ПРИЛОЖЕНИЯ. Cделайте прорисовку в Firefox быстрее
- ПО: Mozilla Firefox • Сложность: Легко
Oбычно Firefox выдерживает небольшую паузу, когда загружается страница, прежде чем она начнет отображаться на экране. Это делается, чтобы гарантировать загрузку большинства структурных компонентов, в противном случае экран будет дергаться и видоизменяться по мере подгрузки данных, создавая довольно неприятные эффекты. С другой стороны, это отнимает некоторое времени, и вы можете ускорить загрузку, настроив соответствующий параметр. В строке адреса введите about:config. Hам нужно создать новый параметр, щелкнув правой кнопкой мыши на списке, выбрав New и Integer и введя «nglayout.initialpaint.delay» в качестве имени. Также потребуется задать значение «0». Теперь страницы будут прорисовываться немного быстрее.
ПРИЛОЖЕНИЯ. Придайте темп Eclipse
- ПО: Eclipse • Сложность: Легко
Есть множество способов, которыми вы можете улучшить производительность IDE Eclipse. Hа старых компьютерах это будет очень эффективным решением – временами это животное достигает здоровенных размеров. Вы можете дать JVM больше памяти для работы (идеально, если ничего больше не будете запускать), используя командную строку Java. Попробуйте включить параметры -Xms96m -Xmx256m, чтобы определить минимум и максимум доступной памяти как 96 и 256 Мб соответственно. Блокировка опций Automatic Code Folding и Automatic Code Insight также может дать вашему компьютеру повышение «октанового числа» – войдите в окно Preferences из меню Window, выберите Java > Editor, затем снимите флажок с Enable Auto Activation везде на вкладке Folding.
БАЗЫ ДАННЫХ. Настройте разделяемые буферы PostgreSQL
- ПО: PostgreSQL, Konqueror • Сложность: Легко
Pазделяемые буферы (shared buffers) – это блоки памяти, используемые для хранения результатов, пока ядро может формировать ответ и управлять данными. По умолчанию, этот параметр совсем небольшой и может быть увеличен для получения лучшей производительности – но если он слишком высок, это может дать противоположный эффект. Oптимальное значение зависит от вашей конфигурации: 4 Мб (512 разделяемых буферов подойдет для компьютера разработчика; от 16 до 32 Мб (от 2048 до 4096) хорошо работает на компьютере с объемом оперативной памяти от 256 до 512 Мб, использующем набор данных среднего размера; для систем высокого класса (1 Гб памяти и более) лучше установить что-то между 64 и 256 Мб (от 8192 до 32768 буферов).
БАЗЫ ДАННЫХ. Избегайте в MySQL-операторов lower и upper
- ПО: MySQL • Сложность: Легко
Миф: Скорость и стабильность не взаимосвязаны.
Факт: некоторые оптимизации GCC, особенно CFLAGS, могут создавать склонный к сбоям код. Страница руководства к GCC разъясняет, какие опции безопасны, а какие производят нестабильный двоичный код. Как могут наблюдать некоторые пользователи Gentoo, когда компилируется вся система с использованием предельных параметров оптимизации, многие программы сильно противятся слишком усердным настройкам. Флаг -fomit-frame-pointer может привести некоторые приложения к катастрофическим сбоям. Hаиболее безопасно включить флаги -O2 -march=<chip> (или, возможно, -O3). Это даст некоторый выигрыш в скорости без опасных экспериментов с оптимизацией.
При работе с MySQL избегайте использования операторов lower и upper в команде select – они замедляют обработку запроса и совершенно не нужны. Oператор select в MySQL не чувствителен к регистру символов: «select * from customers where surname=’jones’ возвратит точно такой же результат, что и «select * from customers where surname=’JONES’. Удивительно, но upper(surname) = ‘JONES’ трактуется точно так же, как и lower(surname) = ‘JONES’. Также старайтесь избегать использования шаблона (*) в операторе select (например, select * from mytable). Это кажется очень удобным, но запрос будет выполняться намного медленнее и создавать дополнительный сетевой трафик. Вместо этого указывайте только те поля, которые вам действительно нужны, например: select email from customers where surname=’jones’.
БАЗЫ ДАННЫХ. Ускоренные запросы с индексами
- ПО: большинство баз данных • Сложность: Средне
Hе забывайте добавлять индексы к таблицам в ваших базах данных. Правильно созданный индекс может дать заметную разницу во времени между запросами к базе данных, отнимая доли секунды вместо десятков минут. Выберите поля, которые, как ожидается, будут запрашиваться. Hапример, для таблицы клиентов для запросов имени и фамилии наиболее эффективно будет создание следующего индекса: create index ind_cust_name on customer(surname, firstname), конеч- но, с учетом реальных имен ваших полей и таблицы. Вам следует также принимать во внимание любые поля, которые вы используете в операторах join, поскольку замечательные сами по себе таблицы могут быть крайне медленными «в паре».
Ник считает…
«Оптимизация базы данных – не самая интересная деятельность, но она в состоянии заметно увеличить скорость их работы.»
БАЗЫ ДАННЫХ. Заблокируйте fsync для повышения производительности диска
- ПО: PostgreSQL • Сложность: Легко
В большинстве установок PostgreSQL опция fsync активирована, то есть сервер записывает каждую операцию непосредственно на диск. Это помогает поддерживать целостность базы данных в случае краха OС или ошибок оборудования, но это также замедляет работу. Oтключение fsync оставит операции записи на диск на совести операционной системы, которая кэширует данные и упорядочивает запись наиболее эффективным способом, обеспечивая тем самым большой скачок производительности. Если ваше оборудование или источник питания достаточно надежны, вы можете отключить fsync в конфигурационном файле PostgreSQL. Oсторожно выполняйте этот шаг, если ваш сервер часто отказывает или ваш источник питания непредсказуем, а вы не имеете ИБП!
БАЗЫ ДАННЫХ. Выбирайте правильный тип таблиц
- ПО: MySQL • Сложность: Сложно
MySQL предлагает различные форматы таблиц для хранения данных, так что очень важно выбрать среди них наилучший для вашей частной задачи. По умолчанию в большинстве случаев используется MyISAM, предлагающий превосходную производительность, но не гарантирующий целостность транзакций. InnoDB несколько медленнее (примерно на 20% согласно результатам большинства общих тестов производительности), но включает вышеупомянутую поддержку транзакций. Тип Memory (ранее известный как Heap) предоставляет наивысшую производительность – однако, это ненадежный выбор. CSV и Archive следует избегать, если только у вас нет специфических требований. В целом, MyISAM и InnoDB – наилучший выбор для поддержания высокой скорости.
СЕРВЕР. Скомпилируйте PHP с оптимизацией по скорости
- ПО: PHP • Сложность: Средне
Xотя многие дистрибутивы предоставляют двоичные пакеты для PHP, вы можете получить некоторый выигрыш в скорости, собрав его из исходных кодов. Установки CFLAGS могут дать прирост на несколько процентов, но существуют параметры внутри скрипта ./configure, которые принесут гораздо больше пользы. Hаиболее важно удостовериться, что используется ключ --disable-debug, который позволяет отбросить отладочный код, более не нужный в системе. Также используйте параметр --enable-inline-optimization, который позволит PHP генерировать оптимизированный код. наконец, для PHP 4.20 и более новых версий хорошая идея – использовать ключ --enable-mm=shared (быстрая распределенная память для хранения сессий). Запустите ./configure --help, чтобы получить полный список опций сборки PHP.
СЕРВЕР. Используйте ReiserFS для почтовой очереди
- ПО: различные почтовые серверы • Сложность: Сложно
Если у вас запущен почтовый сервер, обрабатывающий тысячи сообщений в день, то стоит выбрать подходящую файловую систему для размещения очереди. обычно ее монтируют в /var, так что форматирование /var под другой тип файловой системы может снизить нагрузку. некоторые файловые системы Linux работают не очень быстро с тысячами маленьких файлов в одном каталоге – следовательно, стоит перейти с ext2/ext3 (используются по умолчанию в большинстве дистрибутивов) на ReiserFS. Доказано, что эта файловая система более «подвижная», когда обрабатывается большое число маленьких файлов, и большинство основных дистрибутивов поддерживают ее в ядре, так что вам не придется заниматься тяжелой ручной работой для перехода на нее. Hа сильно загруженных серверах вы заметите хороший прирост производительности.
СЕРВЕР. Cоздайте правильный баланс между клиентом и сервером
- ПО: -- • Сложность: Средне
Если вы строите приложение типа «клиент-сервер», рассмотрите баланс загрузки между сервером и клиентом. Если вся работа выполняется на сервере, это замедлит работу приложения в целом, даже если клиентское ПO ничего не делает. Если вся работа возложена на клиента, это также может замедлить работу приложения. Pассмотрите использование процедур хранения в базах данных, или чтения данных из БД с последующей обработкой клиентом. Подумайте об этом на этапе разработки ПO, поскольку сперва вы не будете видеть проблем. они появятся только тогда, когда у вас будет множество пользователей, что вызовет заметную деградацию сервиса – но будет уже слишком поздно.
СЕРВЕР. Поддерживайте загрузку процессора с помощью параллельной компиляции кода
- ПО: make • Сложность: Легко
Если вы работаете на многопроцессорной системе (SMP) с умеренным объемом памяти (скажем, 512 Мб), вы можете получить значимый выигрыш от выполнения параллельных процессов make во время сборки кода. В сравнении с последовательной сборкой, когда запускается один make (так как это происходит по умолчанию), параллельная сборка дает заметные улучшения. Чтобы сообщить make о возможности запускать для компиляции более одного дочернего процесса, используйте ключ -j:
# make -j4; make -j4 modules
Hекоторые программы не рассчитаны для выполнения параллельной сборки и могут завершиться ошибкой, если некоторые части проекта будут собраны вперед вышестоящих зависимостей. Если вы сталкиваетесь с ошибками сборки, самое безопасное – просто повторить все с самого начала без опции -j.
СЕРВЕР. Улучшите обработку проблемных сообщений в Postfix
- ПО: Postfix • Сложность: Средне
Когда почтовый сервер Postfix не может передать сообщение, оно помещается в очередь, отнимая дисковое пространство и время периодическими попытками повторно отослать его. Если у вас большое число писем, которые не удается отправить, это может снизить производительность, так что имеет смысл откорректировать некоторые настройки. maximal_backoff_time (в секундах) можно установить высоким, чтобы Postfix не повторял попытки отправки слишком часто. queue_run_delay (также в секундах) определяет, как часто сервер сканирует отложенные письма для повторной отправки – опятьтаки имеет смысл установить это значение выше, если сервер испытывает перегрузку. Параметр maximal_queue_lifetime (в днях) можно несколько уменьшить, чтобы избежать захвата очереди и сервера проблемными письмами на долгое время.
СЕРВЕР. Bычищайте файлы .htaccess
- ПО: Apache • Сложность: Легко
Hе используйте файлы .htaccess в Apache. Фактически, вы должны полностью запретить Apache их поиск. Hет ничего, что нельзя было бы указать в httpd.conf вместо этих файлов, поэтому их поиск просто добавляет нагрузки на сервер. Hапример, если ваш каталог htdoc – это /var/www/htdocs, то Apache будет искать файлы /.htaccess, /var/.htaccess, /var/www/.htaccess, и /var/www/htdocs/.htaccess – четыре ненужных доступа к файлу для каждого запроса к web-странице, независимо от того, существуют эти файлы или нет. чтобы отключить использование файлов .htaccess полностью, установите параметр AllowOverride в вашем httpd.conf в «None»:
<Directory /> AllowOverride None </Directory>
СЕРВЕР. Кэшируйте web-страницы
- ПО: Squid • Сложность: Средне
Если ваши компьютеры объединены в сеть, вы можете значительно увеличить скорость доступа за счет использования прокси-сервера, такого как Squid, для кэширования наиболее популярных web-сайтов. Squid – это прокси-сервер, который работает как шлюз в интернет, а заодно сохраняет большинство общих файлов локально, так что в дальнейшем не требуется блуждать по интернету каждый раз, когда кто-то запрашивает последние заголовки с http://www.linuxcenter.ru . Управление самим сервером Squid лучше всего выполнять через web-интерфейс, такой как Webmin, который делает различные настройки, например, установку размера кэша, очень простыми.
СЕРВЕР. Используйте асинхронный режим NFS
- ПО: NFS • Сложность: Средне
Сетевая файловая система (NFS) является очень эффективным способом доступа к удаленным данным по сети, как если бы они размещались локально, но без параметра async она страдает от очень низкой производительности. Без async данные физически записываются, прежде чем запрос будет завершен, но с включенной опцией сервер может выполнять запись данных тогда, когда это наиболее удобно. Это дает очевидное преимущество по скорости, но если сервер потерпит крах до того, как выполнит запись, данные будут потеряны. чтобы разрешить асинхронный обмен, нужно добавить async в каждом элементе файла /etc/exports. Типичный пример может выглядеть следующим образом:
/mnt/media 192.168.1.0/255.255.255.0 (rw,no_root_squash,async)
СЕРВЕР. Bыбирайте тип журнала в ext3
- ПО: ext3, mount • Сложность: Сложно
Большинство дистрибутивов предлагают журналируемую файловую систему ext3 – усовершенствованную версию стандартной для Linux файловой системы ext2 по умолчанию во время инсталляции. Тип журнала может значительно влиять на производительность: с вариантом монтирования data=journal, все данные заносятся в журнал перед записью – наиболее надежный, но медленный способ. data=ordered используется по умолчанию, но вы можете попробовать data=writeback, чтобы добиться предельной скорости (и риска обнаружить старые данные в файлах после сбоя).
СЕРВЕР. Oтключите модули Apache
- ПО: Apache • Сложность: Средне
Удалите все модули Apache, которые не используются. Многие из модулей очень полезны (а порой и жизненно необходимы). Oднако есть множество таких, которые никогда не используются, но, тем не менее, загружаются и поэтому занимают дополнительную память, которая могла бы использоваться как-то еще. К счастью, экспериментировать с большинством модулей очень просто, достаточно редактировать файл httpd.conf. Hе удаляйте никакие строки – просто используйте «#» в начале строки, чтобы исключить операторы AddModule и LoadModule для конкретного модуля. Вы можете затем использовать apachectl restart, чтобы перезагрузить Apache и посмотреть, к какому эффекту это приведет. Это займет определенное время, но процедура того стоит. Такой способ, конечно же, удобен только для модулей, которые не входят непосредственно в Apache – иначе потребуется его полностью пересобрать.
ЯДРО. Скомпилируйте ядро под ваш процессор
- ПО: ядро Linux • Сложность: Легко
Это очень хорошая идея – собрать ядро под ваш процессор. Вместе с оптимизированной библиотекой glibc, это сделает систему быстрее, чем в случае а стандартной оптимизации под i386. Перекомпиляция ядра занимает много времени, но это не вызовет трудностей, если вы будете правильно следовать документации. Вам нужно будет получить исходные текста ядра для вашего дистрибутива (или стандартный выпуск с http://kernel.org ) и затем собрать его. быстрый поиск в Google поможет найти руководство по компиляции ядра для вашего дистрибутива; или вы можете задать вопрос на форумах LXF. Когда вы будете находиться на этапе конфигурации, войдите в секцию Processor Type And Features, где вам нужно будет отметить тип вашего процессора в меню Processor Family, затем выполните сборку, установку и под конец настройте загрузку нового образа ядра.
Пол считает...
«Многие дистрибутивы предоставляют пакеты с собственными ядрами, оптимизированными для определенных процессоров. Поищите их, прежде чем собирать свои вручную.»
ЯДРО. Пересоберите ядро, отключив все ненужное
- ПО: ядро Linux • Сложность: Легко
Бльшинство дистрибутивов поставляются с большим, громоздким ядром, которое поддерживает максимально широкий набор оборудования. Однако если вы точно знаете, что вам нужно, вы можете урезать ядро, сэкономив таким образом некоторое количество памяти и циклов процессора. Хорошо бы оставить только те параметры и драйвера, которые необходимы – наиболее сложно будет определить, что же вам действительно нужно, а что – нет. Возьмите исходные коды ядра, как описано в предыдущем совете, затем в меню настройки просмотрите каждый параметр (обращайтесь при необходимости к встроенной справке) и откажитесь от всего, что определенно вам не понадобится. Вы можете обнаружить, что исключаете целые подсистемы (например, SCSI), но если вы сомневаетесь в чем-то, оставьте это как есть.
ЯДРО. Bыполните тонкую подстройку ядра с помощью sysctl
- ПО: sysctl • Сложность: Сложно
Хотя многие системные параметры можно изменить в /etc, существует несколько настроек, которые требуют дополнительных технических знаний. Утилита sysctl (введите man 8 sysctl, чтобы увидеть краткое руководство) изменяет определенные параметры работающего ядра. Эти параметры зачастую имеют причудливые имена, но, тем не менее, могут быть полезны для повышения производительности компьютеров.
Введите от имени суперпользователя sysctl -a | less, чтобы просмотреть все доступные параметры. Hесмотря на путаные имена, вы можете определить, что делает большинство из них (например, сетевые параметры имеют префикс net.). описание сотен опций выходит за рамки этой заметки, поэтому вы всегда можете узнать больше, выполнив поиск в интернете по ключевому слову sysctl и уточнить, что вы хотите ускорить. Sysctl играет важную роль в низкоуровневой настройке сети, так что их нужно исследовать более тщательно.
ЯДРО. Добейтесь более эффективной подкачки
- ПО: sysctl • Сложность: Легко
Сперва прочитайте совет № 51 для получения общего представления о sysctl. Linux 2.6 представляет параметр vm.swappiness, который определяет, как будет использоваться виртуальная память. Oбычно, когда программе требуется больше памяти, а ОЗУ уже заполнено, ядро может или: а) уменьшить размер кэша, который хранит файлы в памяти для быстрого доступа; или б) переместить часть запущенных программ на диск (в область подкачки, swap) для временного хранения.
Параметр sysctl между 0 и 100 сообщает ядру, какой метод предпочтительнее. При значении 0 ядро полностью откажется от кэширования, если памяти недостаточно, в то время как при 100 программы будут сразу записываться в область подкачки. Для лучшего времени отклика, установите его в 20 или 30 (sysctl -w vm.swappiness=20). Имеет смысл поэкспеиментировать с другими значениями и записать наилучший результат в /etc/sysctl.conf, чтобы сохранить изменения между перезагрузками.
ЯДРО. Увеличьте производительность, добавив «заплатку» к ядру
- ПО: ядро Linux • Сложность: Сложно
Ядро Linux – универсальный механизм как для серверов, так и для настольных компьютеров. Следовательно, различные заплатки делают изменения, фокусирующиеся на том, чтобы сделать настольную систему более отзывчивой. наиболее известен из них набор Кона Коливаса (Con Kolivas). Oн устанавливает другой планировщик (staircase), меньшее использование файлового кэша и настраивает значение HZ (число прерываний от таймера). Коливас выпускает заплатки для всех последних версий ядра – так что просто загрузите, ознакомьтесь (man patch) и перекомпилируйте ваше ядро, чтобы получить более быстрый и уверенно работающий настольный дистрибутив. Смотрите http://members.optusnet.com.au/ckolivas/kernel для загрузки обновлений, и http://www.linux-militia.net для получения исходных кодов ядра с уже установленными обновлениями. на нашем диске также есть RPM-пакет для Fedora.
ЯДРО. Ускорьте QEMU
- ПО: QEMU • Сложность: Средне
QEMU, полнофункциональный эмулятор ПК, очень удобен для тестирования дистрибутивов. До недавнего времени каждая процессорная инструкция обрабатывалась отдельно, и в результате эмулятор работал медленно. Теперь существует модуль ядра, который эффективно подстраивает QEMU как виртуальную машину в стиле VMWare, и это работает гораздо более быстро.
Загрузите модуль ядра kqemu с http://fabrice.bellard.free.fr/qemu и соберите его (вам потребуются исходные коды ядра) согласно документации. В следующий раз, когда вы запустите QEMU, он вызовет этот модуль для достижения хорошей производительности. Oпределенно, это стоит того, чтобы слегка повозиться с установкой исходных кодов вашего ядра.
ОБОРУДОВАНИЕ. Ускорьте жесткий диск
- ПО: hdparm • Сложность: Средне
Миф: Отключение сервисов разгружает процессор и память.
Факт: В совете №2 мы показали, как предотвратить запуск некоторых сервисов во время загрузки, позволяя системе загружаться намного быстрее. Oднако это не означает, что ваша система будет быстрее или легче в использовании – многие сервисы находятся в бездействии и сбрасываются в область подкачки, так что они редко тратят память или ресурсы процессора. Если, например, вы никогда не используете Sendmail, но оставили его запускаться при загрузке системы, он будет вести себя тихо и уйдет в область подкачки, в то время как другие приложения будут работать. Pеальный выигрыш от отключения сервисов заключается в ускорении загрузки системы.
Pежим DMA (Direct Memory Access) позволяет данным передаваться без высокой загрузки процессора. Многие дистрибутивы, ориентированные на новичков, разрешают DMA для жестких дисков, но некоторые – нет, и в результате производительность значительно страдает. Включение режима DMA может повысить производительность диска в пять раз и более.
Установите hdparm и выполните как root: hdparm /dev/hda. замените hda на hdb или другое имя, соответствующее вашему диска. Эта команда покажет вам, какие функции доступны: чтобы включить DMA, используйте команду hdparm -d1 /dev/hda. Вы можете воспользоваться ключом -i, чтобы получить информацию о функциях, поддерживаемых вашим жестким диском, кроме того, man hdparm даст вам дополнительные справочные сведения об этой команде. Стоит попробовать на вашем жестком диске (и CD/DVD) работу и других ключей, в том числе -c для поддержки 32-битного вводавывода и -X для выбора режима передачи IDE.