- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF72:Советы по ускорению
Материал из Linuxformat.
(викификация, оформление) |
(→ПРИЛОЖЕНИЯ. Измените приоритеты ваших процессов) |
||
(29 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | : Советы по ускорению | + | : Советы по ускорению |
- | + | = 72-я скорость = | |
+ | : Ваш дистрибутив работает очень медленно? Ищите способы дополнительно увеличить его подвижность? '''Майк Саундерс (Mike Saunders)''' потратил последние шесть лет на тонкую настройку производительности дистрибутивов Linux и все ещё жаждет скорости… С дополнительными заметками ему помогли '''Грэхем Моррисон (Graham Morrison)''' и '''Марк Бэйн (Mark Bain)'''. | ||
+ | Вопрос: что может быть лучше, чем быстрый ПК Ответ: по-настоящему быстрый ПК. К сожалению, нехватка денег означает, что мы не можем постоянно выкидывать их на покупку более мощного оборудования, чтобы получать всё более быструю систему. Но, к счастью, программное обеспечение тоже играет не менее важную роль. В случае с Linux, модульная структура ядра, стартовых сценариев, графического интерфейса пользователя и приложений означает, что они довольно хорошо подстраиваются для прироста в скорости. | ||
- | + | Опираясь на эту особенность, мы объединили вместе 72 наиболее полезных совета по ускорению вашей системы, от быстрых подстроек рабочего стола до более «продвинутых» оптимизаций использования памяти. «Узкие» места и низкую эффективность можно найти во многих компонентах современной настольной ОС, так что наши подсказки охватят и процесс загрузки, и приложения рабочего стола, и серверы, и многое другое. Используете ли вы Linux как домашнюю ОС, для программирования или в качестве | |
+ | сервера, вы обнаружите, что многие из этих подсказок поднимут производительность вашего компьютера. Если вы молча | ||
+ | страдаете от медлительности вашей машины или, наоборот, громко проклинаете долгую загрузку на форумах по Linux, уделите немного времени, чтобы попробовать некоторые из этих решений, и вы сможете увидеть значительную разницу. | ||
- | + | Мы исследовали и протестировали эти советы на различных дистрибутивах, рассмотрели способы, как это можно сделать более эффективно, при этом одни были | |
- | + | более трудоемкие, чем другие. Поэтому мы присвоили им уровень сложности, так что вы можете оценить, насколько доступны | |
- | + | они на первый взгляд. Мы также уделили внимание необходимому для такой оптимизации ПО. Вы найдете на следующих страницах много существенных подсказок, | |
- | + | которые стоит попробовать, так что без дальнейших отступлений откроем бутылку пива и — вперед! | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
'''ПРЕДУПРЕЖДЕНИЕ!''' | '''ПРЕДУПРЕЖДЕНИЕ!''' | ||
- | + | Мы тщательно протестировали все эти советы. Большая часть из них относится к программному обеспечению, а не к оборудованию, но мы не берем | |
- | + | на себя никакой ответственности за потери данных или повреждения в результате их использования. Pедакция Linux Format не несет ответственности, | |
- | + | если вы сломаете свой компьютер! | |
== ЗАГРУЗКА. Сократите задержку загрузчика == | == ЗАГРУЗКА. Сократите задержку загрузчика == | ||
- | : '''ПО: LILO/GRUB • Сложность: | + | : '''ПО: LILO/GRUB • Сложность: Легко''' |
- | + | Когда вы включаете свой компьютер, после экрана BIOS обычно есть задержка, когда | |
- | + | загрузчик ожидает от вас выбора OС, которая должна быть загружена. Если у вас, | |
- | например, | + | например, двойная загрузка, то вы можете выбирать между Linux и Windows, или любыми другими операционными системами, которые у вас установлены. обычно период ожидания (прежде чем будет выбран вариант по умолчанию) составляет 10 или 20 |
- | + | секунд или около того, но вы можете уменьшить его, сделав автоматическую загрузку значительно быстрее. | |
- | + | Если вы используете загрузчик ''GRUB'', отредактируйте '''menu.lst''' или '''grub.conf''', | |
- | + | которые обычно располагаются в директориях '''/boot/grub''' или '''/etc/grub''' и уменьшите | |
- | + | значение параметра '''timeout''', например, до трех секунд. Для ''LILO'' откройте файл | |
- | '''/etc/lilo.conf''' | + | '''/etc/lilo.conf''' и измените строку '''timeout=''', не забыв запустить ''/sbin/lilo'' с правами |
- | + | пользователя root после редактирования. При следующей загрузке пауза будет значительно меньше. | |
== ЗАГРУЗКА. Отключите ненужные службы == | == ЗАГРУЗКА. Отключите ненужные службы == | ||
- | : '''ПО: | + | : '''ПО: — • Сложность: Средне''' |
- | + | Между загрузкой ядра и финальным приглашением командной строки запускаются различные сервисы (службы), количество | |
- | + | которых зависит от конкретного дистрибутива. Как правило, вы можете видеть | |
- | + | соответствующие этим сервисам строки в процессе загрузки, начинающиеся со | |
- | '''Starting''' | + | '''Starting''' и далее — '''OK''' или '''Done'''. Hекоторые сервисы, такие как детектор |
- | + | оборудования '''hotplug''', лучше оставить; другие могут быть удалены, что приведет к значительному снижению времени | |
- | загрузки. | + | загрузки. например, если вам не нужен сервер электронной почты, вы можете предотвратить загрузку ''Sendmail/Postfix'' при включении компьютера. |
- | + | Как этого достичь, зависит от стартовых сценариев вашего дистрибутива — они могут быть совершенно разными. Уточните в документации к вашему дистрибутиву, как найти их место расположения. на большинстве систем, впрочем, вы можете зайти в каталог '''/etc/init.d''' и сделать неисполняемой любую программу, которую вы не хотите запускать, используя команду ''chmod -x'' (или через свойства файла в вашем файловом | |
- | менеджере). | + | менеджере). '''Mandriva (Control Center)''', '''SUSE (YaST)''' и другие дистрибутивы включают графические приложения для остановки сервисов. загляните внутрь стартовых сценариев. |
('''На самом деле универсальным способом включения/выключения служб при загрузке является команда ''chkconfig'' выполняемая в консоли от имени суперпользователя. С ее синтаксисом легко разобраться набрав ''man chkconfig''''') | ('''На самом деле универсальным способом включения/выключения служб при загрузке является команда ''chkconfig'' выполняемая в консоли от имени суперпользователя. С ее синтаксисом легко разобраться набрав ''man chkconfig''''') | ||
Строка 66: | Строка 57: | ||
«Всегда есть небольшой риск отключить что-то, что вам действительно нужно. Если вы сомневаетесь, оставляйте сервис включенным как есть, и | «Всегда есть небольшой риск отключить что-то, что вам действительно нужно. Если вы сомневаетесь, оставляйте сервис включенным как есть, и | ||
изучайте его. Вы всегда сможете отключить его позже.» | изучайте его. Вы всегда сможете отключить его позже.» | ||
- | |||
== ЗАГРУЗКА. Уменьшите задержки ''sleep'' (1) == | == ЗАГРУЗКА. Уменьшите задержки ''sleep'' (1) == | ||
- | : '''ПО: | + | : '''ПО: — • Сложность: Сложно''' |
- | + | ||
- | + | Если вы покопаетесь в ваших стартовых сценариях, которые обычно размещаются в '''/etc/init.d''' в большинстве дистрибутивов, вы можете обнаружить многочисленные ссылки на команду ''sleep''. Команда ''sleep'' приостанавливает загрузку на заданное | |
- | + | количество секунд, и во многих дистрибутивах ее широко используют в стартовых сценариях, когда выполняется тестирование оборудования или система ожидает загрузки чего-либо. Естественно, это влияет на другие загружаемые программы, так что стоит | |
- | выяснить, | + | выяснить, когда они применяются. Пример для систем, основанных на Debian: |
- | # | + | # grep -r sleep /etc/init.d |
- | + | Эта команда покажет, какие скрипты содержат паузы ''sleep'', и выведет в секундах, | |
- | + | насколько продолжительны эти задержки (они, как правило, составляют несколько | |
- | секунд). | + | секунд). Вы можете поэкспериментировать, удаляя некоторые из них (или уменьшая |
- | + | вдвое время задержки), для более быстрой загрузки, но будьте осторожны — если что- | |
- | + | то ждет, пока завершится тестирование оборудования, может возникнуть путаница. Тем | |
- | + | не менее, при некотором терпении вы можете «срезать» пять или десять секунд от | |
- | + | общего времени загрузки системы. | |
== ЗАГРУЗКА. Загружайтесь в текстовый режим == | == ЗАГРУЗКА. Загружайтесь в текстовый режим == | ||
- | : '''ПО: NXDM/GDM/KDM • Сложность: | + | : '''ПО: NXDM/GDM/KDM • Сложность: Средне''' |
- | + | В процессе загрузки запуск графического менеджера (обычно ''GDM'' или ''KDM'') может | |
- | + | отнять некоторое время. Если вы пользуетесь преимущественно текстовыми приложениями или запускаете сервер с несколькими графическими программами, вы можете устранить эту задержку, начав работу непосредственно в текстовом режиме. Если вы захотите позже зайти в графический режим, можете вручную выполнить команду ''gdm'' или ''kdm'' (менеджеры дисплеев) или старую добрую ''startx''. | |
- | + | Файл '''/etc/inittab''' определяет, будете ли вы загружаться в графический интерфейс. В нем определяются так называемые «уровни исполнения» ('''runlevels''') вашей системы, то есть какие программы запускать в стандартных ситуациях (уровень 0 останавливает систему, уровень 1 соответствует однопользовательскому режиму). Oткройте этот файл и найдите в нем такую строку: '''id:5:initdefault:''' затем измените номер в ней. Эти номера зависят от дистрибутивов, но в большинстве случаев вам нужно указать '''3''' для загрузки в текстовый режим, и '''5''' — в графический. | |
- | + | Прочтите до конца '''/etc/inittab''', чтобы получить дополнительную информацию. | |
== ЗАГРУЗКА. Уменьшите время ожидания DHCP == | == ЗАГРУЗКА. Уменьшите время ожидания DHCP == | ||
- | : '''ПО: DHCP • Сложность: | + | : '''ПО: DHCP • Сложность: Легко''' |
- | + | Большинство современных ПК и ноутбуков имеют встроенную сетевую карту, и если Linux поддерживает ее, то очень вероятно, что он попытается активировать ее во время загрузки. Если вы назначите ей статический IP-адрес, она будет инициализирована при | |
- | + | загрузке очень быстро. Hо если вы получаете IP с помощью ''DHCP'', это может привести к задержке. Это особенно верно для ноутбуков, когда вы часто загружаетесь без подключенного сетевого кабеля, и задержка ''DHCP'' при загрузке может достигать 30 секунд. | |
- | + | Чтобы сократить его, найдите и откройте файл '''dhclient.conf''' (обычно в каталоге '''/etc''' или '''/etc/dhcp3'''). Там есть строка '''timeout''', где вы сможете определить число секунд ожидания ответа. Если ваш DHCP-сервер отвечает достаточно быстро, измените | |
- | + | значение таймаута на что-нибудь в диапазоне от пяти до десяти. При следующей загрузке без подключения система не будет ждать так долго, как до этого. | |
- | == ЗАГРУЗКА. Быстрая загрузка с помощью XDM == | + | == ЗАГРУЗКА. Быстрая загрузка с помощью ''XDM'' == |
- | : '''ПО: XDM/GDM/KDM • Сложность: | + | : '''ПО: XDM/GDM/KDM • Сложность: Средне''' |
{{Врезка | {{Врезка | ||
|Заголовок=Как стать суперпользователем | |Заголовок=Как стать суперпользователем | ||
- | |Содержание= | + | |Содержание=Для применения многих советов, |
- | + | касающихся загрузки, оборудования и серверов, вам | |
- | + | потребуется войти в систему как root (суперпользователь). | |
- | + | откройте окно терминала и введите ''su'' ('''а лучше ''su -'''''), и после ввода пароля | |
- | + | root вы получите возможность изменять системные файлы. | |
|Ширина=200px | |Ширина=200px | ||
}} | }} | ||
- | + | Если вы запускаете 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тключите графику при загрузке == | == ЗАГРУЗКА. Oтключите графику при загрузке == | ||
- | : '''ПО: RHGB и др. графические загрузчики • Сложность: | + | : '''ПО: 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 • Сложность: Сложно''' | ||
- | + | ||
- | + | Многие дистрибутивы запускают свои службы последовательно, что может «съедать» время. Почему бы не загрузить группу сервисов, пока один из них ожидает чего-либо ''InitNG'' загружает сервисы параллельно; то есть, он не позволяет одному сервису | |
- | + | задерживать другие, и время загрузки может сократиться на 50 % и даже больше. | |
- | + | Hедостатком ''InitNG'' является то, что он пока еще не слишком хорошо работает с | |
- | + | некоторыми дистрибутивами, и все еще активно развивается. Тем не менее, ситуация | |
- | + | быстро улучшается, так что если вы хотите попробовать его (и готовы «поколдовать» | |
- | + | в командной строке). | |
== ЗАГРУЗКА. Перезагружайтесь быстро == | == ЗАГРУЗКА. Перезагружайтесь быстро == | ||
- | : '''ПО: Suspend • Сложность: | + | : '''ПО: Suspend • Сложность: Сложно''' |
- | + | Многие ноутбуки поддерживают спящий режим, в котором содержимое оперативной памяти перед выключением сохраняется на жестком диске. Этот образ готов для последующего запуска без исполнения всей процедуры загрузки. Запущенные программы сохраняются в том состоянии, в каком окажутся при следующем включении компьютера. Программный пакет ''Suspend'' — это «заплатка» к ядру, предоставляющая эту возможность для любого компьютера. загрузить это расширение к ядру можно с http://www.suspend2.net | |
- | + | вместе со сценарием поддержки спящего режима. Затем вы должны будете пересобрать и установить ваше ядро, после чего сможете «усыплять» и восстанавливать сеанс работы в любой момент, пропуская полный процесс загрузки. | |
== РАБOЧИЙ СТОЛ. Измените менеджер окон в Gnome == | == РАБOЧИЙ СТОЛ. Измените менеджер окон в Gnome == | ||
- | : '''ПО: Metacity • Сложность: | + | : '''ПО: 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 быстрее в других оконных менеджерах == | == РАБOЧИЙ СТОЛ. Запускайте приложения KDE быстрее в других оконных менеджерах == | ||
- | : '''ПО: KDE • Сложность: | + | : '''ПО: KDE • Сложность: Легко''' |
- | + | Oдин популярный вариант ускорения — запуск «легкого» оконного менеджера, | |
- | + | под которым работают ваши любимые приложения. Oднако, запуская множество | |
- | KDE-программ, | + | KDE-программ, скажем, под ''Fluxbox'', вы заметите, что запуск затягивается. Дело в |
- | том, | + | том, что каждый раз, запускаясь вне своего «родного» окружения приложение |
- | + | KDE подгружает множество библиотек и процессов, необходимых для его работы. | |
- | + | К счастью, есть простой способ обойти эту проблему. В своем оконном менеджере откройте терминал и введите | |
- | ''kdeinit''. | + | ''kdeinit''. Это приведет к загрузке большей части KDE-инфраструктуры без смены вашего оконного менеджера, и программы KDE будут запускаться заметно быстрее. Вы можете поместить вызов ''kdeinit'' в стартовый сценарий вашего оконного менеджера, чтобы он выполнялся |
автоматически. | автоматически. | ||
Строка 187: | Строка 177: | ||
«Когда вы запускаете ''kdeinit'', он загружает все фоновые сервисы KDE, так что вы можете запросто запустить KDE! Или (кхе-кхе) Gnome…» | «Когда вы запускаете ''kdeinit'', он загружает все фоновые сервисы KDE, так что вы можете запросто запустить KDE! Или (кхе-кхе) Gnome…» | ||
- | ==РАБOЧИЙ СТОЛ. Увеличьте производительность системы ''X11'' при работе в сети== | + | == РАБOЧИЙ СТОЛ. Увеличьте производительность системы ''X11'' при работе в сети == |
- | : '''ПО: X11, lbxproxy • Сложность: | + | : '''ПО: X11, lbxproxy • Сложность: Легко''' |
- | + | Если вы запустите систему ''X Window'' по сети Ethernet, вы не получите высокой производительности. Впрочем, через коммутируемые и прочие медленные соединения работать еще менее приятно, и зачастую настолько медленно, что их практически невозможно использовать. Вот действительно быстрое решение: Low Bandwidth X (LBX) Proxy. Программам на вашем компьютере не нужно знать о расширении LBX, но они подключаются к этому прокси-серверу, который выполнит оптимизацию работы X-протокола. Это совершенно «гладкое» решение. | |
- | ''lbxproxy'' | + | ''lbxproxy'' поставляется со многими вариантами ''X.org'' или предоставляется как отдельное расширение. Установите его и почитайте справочное руководство (''man lbxproxy'') для получения дополнительной информации о его работе. Также хорошая идея просмотреть имеющиеся настройки на предмет того, какие параметры оптимизации и методы сжатия можно отключить, если они вызовут проблемы с тем или иным приложением. |
{{Врезка | {{Врезка | ||
Строка 199: | Строка 189: | ||
|Содержание= '''Миф:''' ''Стоит компилировать все под свой процессор.'' | |Содержание= '''Миф:''' ''Стоит компилировать все под свой процессор.'' | ||
- | '''Факт:''' | + | '''Факт:''' Небольшое число ключевых компонентов системы, таких как ядро, ''glibc'' и другие |
- | + | системные библиотеки, могут извлечь пользу от оптимизации под конкретный процессор. Oднако | |
- | + | повторная сборка таких приложений, как ''OpenOffice.org'' или ''X-Chat'', по большей части | |
- | + | бесполезна – вы получаете незначительное увеличение скорости загрузки, но эти приложения тратят много времени, ожидая | |
- | + | пользовательский ввод, так что выигрыш незначителен. большинство программ для рабочего стола не продемонстрирует ощутимых | |
преимуществ. | преимуществ. | ||
|Ширина=200px}} | |Ширина=200px}} | ||
- | ==РАБOЧИЙ СТОЛ. Подумайте о FVWM== | + | == РАБOЧИЙ СТОЛ. Подумайте о ''FVWM'' == |
- | : '''ПО: FVWM • Сложность: | + | : '''ПО: FVWM • Сложность: Средняя''' |
- | + | KDE и Gnome предоставляют превосходные рабочие столы и дают вам все, что вы только можете захотеть. Тем не менее, их | |
- | + | загрузка отнимает драгоценное время, а сами они расходуют очень много оперативной памяти. Если у вас старый ПК (или | |
- | новый, | + | новый, который вы хотите заставить работать быстрее), тогда переключение в «легкий» оконный менеджер сократит расходование памяти, и даже снизит время, требуемое для входа в систему. Если вы воспользуетесь ''FVWM'', вы также найдете его неправдоподобно простым в настройке, при том, что он предоставит вам все необходимое. Смотрите http://www.fvwm.org. |
- | ==РАБOЧИЙ СТОЛ. Ускорьте запуск приложения до 50%== | + | == РАБOЧИЙ СТОЛ. Ускорьте запуск приложения до 50 % == |
- | : '''ПО: prelink • Сложность: | + | : '''ПО: prelink • Сложность: Сложно''' |
- | + | Oдной из проблем приложений является то, что они зависят от другого запущенного ПO. Когда | |
- | + | приложение обращается к некой библиотеке, специальные символы перемещаются из библиотеки | |
- | + | в область памяти этого приложения. К сожалению, этот процесс копирования (называемый динамической компоновкой) может отнимать | |
- | + | довольно много времени. | |
- | + | Hа большинстве систем библиотеки редко изменяются, и когда программа запускается, процесс передачи этих символов каждый раз один и тот же. Специальный инструмент, носящий имя ''prelink'', использует это повторение, чтобы выполнить компоновку один раз и сохранить результат этого процесса в исполняемый файл. Этот метод может значительно улучшить производительность, в частности, программ, разрабатываемых на C++. некоторые программы KDE запускаются на 50 % быстрее. ''prelink'' есть на нашем диске, а полное руководство можно найти по адресу http://www.crast.us/james/articles/prelink.php. | |
- | ==РАБOЧИЙ СТОЛ. Запускайте приложения Gnome за пределами рабочего стола быстрее== | + | == РАБOЧИЙ СТОЛ. Запускайте приложения Gnome за пределами рабочего стола быстрее == |
- | : '''ПО: Gnome, различные оконные менеджеры • Сложность: | + | : '''ПО: Gnome, различные оконные менеджеры • Сложность: Легко''' |
- | + | Этот пункт использует похожие принципы, что и совет № 11. Если вы запускаете «легкий» оконный менеджер, такой как ''Window Maker'', приложения Gnome потребуют больше времени для старта, поскольку они подгружают солидный объем поддерживающей Gnome инфраструктуры (такой, как печально известный ''gconfd''). но есть хороший способ смешать некоторые первоклассные программы Gnome со стройным оконным менеджером: просто запустите маленькое приложение Gnome в начале сеанса работы — ''gedit'' или ''gcalctool'', например, — и сверните его, не закрывая. Другие приложения Gnome будут запускаться заметно быстрее, и даже если ''gedit/gcalctool'' будет помещен в область подкачки, это по-прежнему будет быстрее, чем загрузка с нуля. | |
- | ==РАБOЧИЙ СТОЛ. Настройте визуальные эффекты KDE== | + | == РАБOЧИЙ СТОЛ. Настройте визуальные эффекты KDE == |
- | : '''ПО: KDE, kcontrol • Сложность: | + | : '''ПО: KDE, kcontrol • Сложность: Легко''' |
- | + | KDE включает обширный набор косметических средств, многие из которых можно | |
- | + | заблокировать для значительного увеличения производительности. Ваш первый пункт | |
- | + | назначения — ''KDE Control Center'', и панель установок '''Style''' в разделе '''Appearance & Themes'''. Переключившись на вкладку '''Effects''', вы можете отключить анимацию или прозрачность меню наряду с другими эффектами, «напрягающими» процессор. | |
- | + | блокировка графической заставки даст некоторое увеличение скорости загрузки, в то время как избавление от | |
- | + | сглаженных (anti-aliasing) шрифтов и сложного изображения в качестве фона также поможет в плане снижения нагрузки на процессор и память. Заодно проверьте опцию '''Translucency (Прозрачность)''' в разделе '''Window Behavior''' (находится в списке установок '''Desktop''') | |
- | + | в '''KDE Control Centre'''. | |
- | ==РАБOЧИЙ СТОЛ. | + | == РАБOЧИЙ СТОЛ. Bыбирайте дистрибутивы старой школы == |
- | : '''ПО: | + | : '''ПО: — • Сложность: Средне''' |
- | + | Если у вас старый компьютер (такой, как Pentium I), постарайтесь не прельщаться этими шикарными, «раскрученными» новыми дистрибутивами, которые рассматриваются в последнем выпуске журнала Linux Format. Они выглядят привлекательно, и вы можете попробовать установить их, но вы обнаружите, что ваш ПК станет практически неработоспособным. Hет, вам нужно смотреть на вашу коллекцию старых выпусков. Hайдите в ней Slackware 10.0. Выудите из ящика комода копию SUSE 7.1. Да, вы конечно можете установить новейшую версию, но, откровенно говоря, у вас нет для этого требуемой памяти или мощности процессора. Другой ответ, конечно, — пойти в магазин и купить новый компьютер. Но действительно ли это более простой путь? | |
- | + | ||
- | ==РАБOЧИЙ СТОЛ. Используйте мышиные «жесты» при работе в KDE== | + | == РАБOЧИЙ СТОЛ. Используйте мышиные «жесты» при работе в KDE == |
- | : '''ПО: KDE • Сложность: | + | : '''ПО: KDE • Сложность: Легко''' |
- | + | «Жест» — это просто движение, сделанное мышью, когда нажата определенная ее | |
- | клавиша. | + | клавиша. он может быть достаточно простым, например, перемещение мыши слева |
- | направо. | + | направо. Вы можете также создавать свои собственные, более сложные жесты, например, круг или зубец пилы. Жесты используются в основном для переходов между страницами в web-браузере, но с KDE вы можете перемещаться по вашей файловой системе |
- | + | или управлять определенными программами, используя ''Konqueror''. | |
- | + | Жестами можно заменить любую клавиатурную команду. Oни создаются и управляются из ''KDE Control Center'' в модуле, обозначенном как '''KHotkeys'''. Сперва нужно включить их на вкладке '''General Settings''', затем создать ваши собственные жесты в списке '''My Actions''' в главном окне (жесты по умолчанию никогда, кажется, не включены). | |
- | ==РАБOЧИЙ СТОЛ. Cделайте Nautilus быстрее== | + | == РАБOЧИЙ СТОЛ. Cделайте ''Nautilus'' быстрее == |
- | : '''ПО: Nautilus • Сложность: | + | : '''ПО: Nautilus • Сложность: Легко''' |
- | ''Nautilus'', | + | ''Nautilus'', файловый менеджер Gnome, сидел на строгой «диете» последние несколько |
- | лет, | + | лет, превратившись из зыбкой массы кода в респектабельную, слегка требовательную |
- | + | к ресурсам программу. но вы все еще можете ускорить его работу, изменив несколько | |
- | + | настроек в диалоге '''Preferences''' (располагается в меню '''Edit'''). Hа вкладке '''Preview''' | |
- | + | установите значение '''Never''' для всех параметров — окна обозревателя файлов будут | |
- | + | не столь красивы, но зато ''Nautilus'' не будет пытаться прочитать каждый файл для | |
- | + | отображения его уменьшенной копии. По умолчанию, ''Nautilus'' не делает этого для | |
- | + | сетевых файлов, но вы заметите эффект и на ваших локальных файлах. | |
- | ==ПРИЛОЖЕНИЯ. Настройте производительность системы подкачки Gimp== | + | == ПРИЛОЖЕНИЯ. Настройте производительность системы подкачки ''Gimp'' == |
: '''ПО: Gimp • Сложность: Легко''' | : '''ПО: Gimp • Сложность: Легко''' | ||
- | + | ||
- | ''Gimp'' | + | ''Gimp'' использует свою собственную мини-систему для подкачки — другими словами, он |
- | + | помещает содержимое памяти на жесткий диск, когда к нему нет обращений некоторое | |
- | + | время или наблюдается нехватка ресурсов. Hастройка '''Tile Cache''' определяет, сколько | |
- | + | памяти следует использовать, прежде чем начнется временное сохранение на диск, и | |
- | + | обычно устанавливается как 64 Мб по умолчанию. Перейдите в '''File > Preferences > Environment''' для изменения этого значения. Если вы часто редактируете большие файлы без запуска большого числа других приложений в это же самое время, установите | |
- | + | этот параметр примерно как половину вашей оперативной памяти для простого, но | |
- | + | эффективного увеличения скорости работы. | |
- | ==ПРИЛОЖЕНИЯ. Bыполняйте предварительную загрузку Konqueror== | + | == ПРИЛОЖЕНИЯ. Bыполняйте предварительную загрузку ''Konqueror'' == |
- | : '''ПО: Konqueror • Сложность: | + | : '''ПО: Konqueror • Сложность: Легко''' |
- | + | Файлы KDE и web-браузер могут быть предварительно загружены в фоновом режиме, | |
- | + | так что каждый новый экземпляр ''Konqueror'' загружается почти мгновенно. Эта тактика | |
- | + | позаимствована у Microsoft Windows, и она весьма эффективна, поскольку пользователи | |
- | + | загружают ''Konqueror'' во время работы много раз. Hужная настройка находится в | |
- | ''Konqueror'' | + | ''Konqueror'' на странице '''Performance''', доступной из окна '''Configuration'''. Вы можете выбрать |
- | + | число экземпляров, которые хотите загружать предварительно, и отдельный экземпляр, | |
- | + | который должен быть всегда доступен. Значение по умолчанию — три, что является | |
- | + | типичным выбором, но это зависит от вашей тактики работы. Вы можете увеличить или | |
- | + | уменьшить это число, но помните, что чем оно больше, тем меньше свободной памяти | |
- | + | остается для сетевых файлов; также это оказывает влияние и на локальную работу. | |
- | ==ПРИЛОЖЕНИЯ. Запускайте OpenOffice.org быстрее== | + | == ПРИЛОЖЕНИЯ. Запускайте ''OpenOffice.org'' быстрее == |
- | : '''ПО: OpenOffice.org • Сложность: | + | : '''ПО: OpenOffice.org • Сложность: Легко''' |
- | + | Удивительно мощный сам по себе, ''OpenOffice.org'' все еще загружается непомерно долго. Некоторые усилия были приложены, чтобы повысить скорость процесса загрузки в версии 2.0, но без каких-либо заметных результатов. Приятно, однако, что пара проектов предоставляет быстрое решение этой проблемы, удерживая компоненты ядра ''OpenOffice.org'' постоянно в памяти. Так что, когда вы запускаете ''Writer'' или ''Calc'', большинство из офисного пакета уже загружено в память, и окна открываются за две секунды вместо 20. Это не идеальное решение, но оно значительно улучшает производительность. Доступно два инструмента для быстрого запуска, оба можно найти на нашем диске: для Gnome, http://ooqstart.sourceforge.net ; | |
- | + | и для KDE, http://segfaultskde.berlios.de/index . | |
- | что, | + | |
- | + | ||
{{Врезка | {{Врезка | ||
Строка 314: | Строка 301: | ||
|Содержание= '''Миф:''' ''Многие дистрибутивы собираются специально для старинных 386-х ПК.'' | |Содержание= '''Миф:''' ''Многие дистрибутивы собираются специально для старинных 386-х ПК.'' | ||
- | '''Факт:''' | + | '''Факт:''' Эта идея основана на двух фактах: |
- | # | + | # Большинство пакетов RPM и Deb имеют цифры «'''386'''» в конце, |
- | # | + | # Oни не собираются с флагом '''-march''' компилятора ''GCC''. |
- | + | В действительности, большинство дистрибутивов собирают пакеты, используя | |
- | + | набор инструкций 80386 для более широкой совместимости с процессорами, но при этом | |
- | + | оптимизируются для более современных чипов (флаг '''-mcpu'''). Это не столь | |
- | неэффективно, | + | неэффективно, как кажется на первый взгляд. |
|Ширина=200px}} | |Ширина=200px}} | ||
- | ==ПРИЛОЖЕНИЯ. Работайте быстрее с Firefox== | + | == ПРИЛОЖЕНИЯ. Работайте быстрее с ''Firefox'' == |
- | : '''ПО: Mozilla Firefox • Сложность: Средне''' | + | : '''ПО: Mozilla Firefox • Сложность: Средне''' |
- | ''Firefox'' | + | ''Firefox'' быстр, но если вы используете широкополосное подключение, вы можете |
- | + | сделать его еще быстрее. Xитрость заключается в том, чтобы увеличить число | |
- | запросов, | + | запросов, которые могут быть выполнены одновременно. Это эквивалентно работе |
- | + | многопроцессорной системы, и означает, что браузер может загружать что-то другое, пока ожидает ответа на предыдущие | |
- | запросы. | + | запросы. Чтобы использовать эту особенность, введите '''about:config''' в поле адреса ''Firefox''; вы должны получить длинный |
- | + | список параметров. Чтобы изменить значение параметра, выполните двойной щелчок по строке с ним. '''network.http.pipelining''' и '''network.http.proxy.pipelining''' требуется установить в '''True''', и выставить значение '''network.http.pipelining.maxrequests''' (величина от | |
- | + | 20 до 30 работает достаточно хорошо). | |
- | ===ГРЭХЭМ СЧИТАЕТ…=== | + | === ГРЭХЭМ СЧИТАЕТ… === |
«Остерегайтесь того, что некоторые web-серверы не поддерживают конвейерную обработку. Если вы получаете ошибки, отключите эту настройку и | «Остерегайтесь того, что некоторые web-серверы не поддерживают конвейерную обработку. Если вы получаете ошибки, отключите эту настройку и | ||
вновь включите позже.» | вновь включите позже.» | ||
- | ==ПРИЛОЖЕНИЯ. Переключитесь на IMAP== | + | == ПРИЛОЖЕНИЯ. Переключитесь на 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 • Сложность: Легко''' | ||
+ | |||
+ | Если совет [[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.9F.D0.A0.D0.98.D0.9B.D0.9E.D0.96.D0.95.D0.9D.D0.98.D0.AF._.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA.D0.B0.D0.B9.D1.82.D0.B5_OpenOffice.org_.D0.B1.D1.8B.D1.81.D1.82.D1.80.D0.B5.D0.B5|№ 22]] вам не подходит, есть другой способ сократить тревожно долгую загрузку ''OpenOffice.org''. Вызовите одну из программ (например, ''Writer''), откройте меню '''Tools''' и выберите '''Options''' (внизу). В меню ''OpenOffice.org'' есть раздел '''Memory'''. В '''Graphics Cache''' измените параметры '''Use For OpenOffice.org''' до значения '''30 Мб''' и '''Memory Per Object''' до '''2.0 Мб'''. Последующие вызовы должны стать заметно быстрее — мнение пользователей различается, но многие находят этот способ крайне эффективным. Примените этот подход совместно с советом [[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.9F.D0.A0.D0.98.D0.9B.D0.9E.D0.96.D0.95.D0.9D.D0.98.D0.AF._.D0.97.D0.B0.D0.BF.D1.83.D1.81.D0.BA.D0.B0.D0.B9.D1.82.D0.B5_OpenOffice.org_.D0.B1.D1.8B.D1.81.D1.82.D1.80.D0.B5.D0.B5|№ 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'''). Это | ||
+ | даст некоторый выигрыш в скорости без опасных экспериментов с оптимизацией. | ||
+ | |||
+ | |Ширина=200px}} | ||
+ | |||
+ | При работе с ''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 • Сложность: Легко''' | ||
+ | |||
+ | Сперва прочитайте совет [[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.AF.D0.94.D0.A0.D0.9E._B.D1.8B.D0.BF.D0.BE.D0.BB.D0.BD.D0.B8.D1.82.D0.B5_.D1.82.D0.BE.D0.BD.D0.BA.D1.83.D1.8E_.D0.BF.D0.BE.D0.B4.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D1.83_.D1.8F.D0.B4.D1.80.D0.B0_.D1.81_.D0.BF.D0.BE.D0.BC.D0.BE.D1.89.D1.8C.D1.8E_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 • Сложность: Средне''' | ||
+ | |||
+ | {{Врезка | ||
+ | |Заголовок=Мифы об экономии времени | ||
+ | |Содержание='''Миф:''' ''Отключение сервисов разгружает процессор и память.'' | ||
+ | |||
+ | '''Факт:''' В совете [[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днако это не означает, что ваша система будет быстрее или легче в использовании – многие сервисы находятся в | ||
+ | бездействии и сбрасываются в область подкачки, так что они редко тратят память или | ||
+ | ресурсы процессора. Если, например, вы никогда не используете ''Sendmail'', но оставили его запускаться при загрузке системы, он | ||
+ | будет вести себя тихо и уйдет в область подкачки, в то время как другие приложения будут работать. Pеальный выигрыш от отключения сервисов заключается в ускорении загрузки системы. | ||
+ | |Ширина=200px}} | ||
+ | |||
+ | 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. | ||
+ | |||
+ | === Грэхем считает… === | ||
+ | |||
+ | «Внимание! есть сведения, что некоторые флаги ''hdparm'' могут повредить данные. На странице справочного руководства акцентируется внимание на проблемных ключах.» | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. Добавьте подвижности вашей мышке и клавиатуре == | ||
+ | |||
+ | : '''ПО: любой оконный менеджер • Сложность: Легко''' | ||
+ | |||
+ | Для большинства людей высокая скорость повторения символа клавиатуры и более быстрые перемещения мыши становятся важны для навигации по большим документам. Некоторые графические оболочки и оконные менеджеры включают собственные инструменты для настройки параметров мыши и клавиатуры, но если у вас этого нет, вы можете снизойти до стандартного инструмента ''xset'', имеющегося во всех вариантах системы ''X11''. Вот пример настройки периода повтора для клавиатуры: | ||
+ | |||
+ | # xset rate 500 30 | ||
+ | |||
+ | Эта команда установит задержку в 500 миллисекунд с момента нажатия клавиши, пока не начнется повтор символов. Повторяться символы будут со скоростью 30 шт./с. | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. Включите поддержку ускорения ''OpenGL'' в ''X11'' == | ||
+ | |||
+ | : '''ПО: X.org • Сложность: Сложно''' | ||
+ | |||
+ | Если вы используете настольный дистрибутив, такой как Mandriva или SUSE, скорее всего | ||
+ | программа установки правильно настроила графический интерфейс ''X11'' для вас с первого раза. Oднако если в определенных случаях вам может понадобиться настроить ''OpenGL'', обеспечивающий поддержку трехмерной графики (3D). Это не слишком сложно, если вы понимаете, что делаете. Сперва убедитесь, что ваше ядро поддерживает шину AGP (введите ''dmesg | grep -i agp'' и ''lsmod | grep -i agp'' в терминале и посмотрите, есть | ||
+ | ли строка '''agpgart'''). Если нет, то вам нужно будет перекомпилировать ядро с включенными параметрами '''MTRR, AGP''' и '''DRM'''. Добавьте строки '''Load «dri»''' и '''Load «glx»''' в секции '''Module''' файла '''xorg.conf''' (обычно находится в '''/etc/X11''') и перезапустите X-сервер. Команда ''glxinfo | grep direct'' должна вернуть «'''Yes'''». | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. Работайте с фирменными видеодрайверами == | ||
+ | |||
+ | : '''ПО: -- • Сложность: Средне''' | ||
+ | |||
+ | Видеодрайверы в стандартной поставке ''X.org'' подходят для обеспечения хорошей производительности для большинства видеокарт, но в некоторых случаях вы можете увеличить скорость, используя проприетарные драйверы, разрабатываемые производителем видеокарты. Драйверы nVIDIA, которые можно найти на странице http://www.nvidia.com/object/unix.html , делятся на модули ядра и модули ''X.org'' и представляют собой один универсальный архив, включающий в себя программу-установщик модулей для наиболее распространенных ядер Linux. Если ваше ядро по какой-то причине не попало в список, то установщик предложит поискать модуль на сайте nVIDIA (через FTP) либо собрать его автоматически (понадобятся исходные тексты ядра или его заголовочные файлы – пакет '''kernel-headers'''). Следует знать, что установщик видеодрайвера запустится только в текстовом режиме и потребует от вас установленного пакета | ||
+ | ''binutils'' и стандартных утилит разработчика. После установки, отредактируйте ваш '''xorg.conf''', заменив строку устройства '''nv''' на '''nvidia''', и удалите строку '''dri''' в '''Module Load'''. Драйвера ATI доступны на http://www.ati.com | ||
+ | – документация в поставке разъясняет, как их установить. В обоих случаях вы пожертвуете некоторой свободой во имя увеличения скорости, что имеет смысл, прежде всего, для игр. | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. Используйте каждый байт вашей оперативной памяти == | ||
+ | |||
+ | : '''ПО: ядро Linux • Сложность: Сложно''' | ||
+ | |||
+ | Linux способен адресовать до 64 Гб физической памяти на системах x86. Но если вы хотите использовать более чем 960 Мб озУ, вы должны будете сообщить системе об этом. Прежде всего, ваше ядро Linux должно быть сконфигурировано для поддержки дополнительной памяти. Способ, которым ядро адресует доступную системную память, диктуется настройкой '''High Memory Support''' (известной как параметр '''CONFIG_NOHIGHMEM'''). Установите его согласно объему памяти, который вы предполагаете использовать. | ||
+ | |||
+ | Имейте в виду, что выбор 64 Гб требует процессор, способный использовать режим '''PAE''' (Physical Address Extension). Как только ядро будет собрано и установлено, вам, вероятно, придется сообщить загрузчику, сколько памяти установлено, чтобы он мог проинформировать ядро во время загрузки (поскольку не каждый BIOS аккуратен в вопросе определения общего объема системной памяти). Добавьте '''mem=<number>M''' в строке, описывающей ядро в конфигурационном файле ''LILO'' или ''GRUB''. | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. Попробуйте мышь в текстовом режиме == | ||
+ | |||
+ | : '''ПО: GPM • Сложность: Легко''' | ||
+ | |||
+ | Если вы не устанавливали на свою машину систему ''X Window'', это не означает, что вы вообще не сможете пользоваться мышью. Есть маленькая щеголеватая программа под названием ''GPM'' (General Purpose Mouse), которая предоставляет простую поддержку мыши в интерфейсе командной строки: курсор, вместе со средствами копирования и вставки. Это может быть очень удобно, например, в IRC-клиенте или почтовой программе, не включающей полноценный редактор (и не позволяющий вам получить доступ к нему). ''GPM'' можно найти на странице http://linux.schottelius.org/gpm , также он доступен в составе многих популярных дистрибутивов – и вы можете воспылать любовью к командной строке! | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. «Разгоните» вашу карту nVIDIA == | ||
+ | |||
+ | : '''ПО: nvidia-settings • Сложность: Сложно''' | ||
+ | |||
+ | Pазгон опасен. Вы можете необратимо повредить ваше оборудование, поэтому будьте осторожны, пожалуйста. Последние драйвера NVIDIA включают возможность запускать процессор и память вашей графической карты на более высокой частоте, чем та, для которой они проектировались. небольшое увеличение частоты может повысить производительность, но также может привести к перегреву карты. Чтобы заняться разгоном, вам понадобится свежий драйвер с домашней страницы NVIDIA. отредактируйте конфигурационный файл ''X11'', обычно это '''/etc/X11/xorg.conf''', добавив следующую строку в секцию устройства NVIDIA: | ||
+ | |||
+ | Option «Coolbits» «1» | ||
+ | |||
+ | После перезапуска ''X''-сервера, вы сможете изменять тактовую частоту в приложении | ||
+ | ''nvidia-settings'', включенном в драйвер. С включенным параметром '''Coolbits''' появится | ||
+ | дополнительная страница, называющаяся '''Clock Frequencies''', где вы сможете настроить скорость графического процессора и | ||
+ | памяти. Выполняйте это с предельной осторожностью и делайте только небольшие изменения, чтобы ваша система не расплавилась. | ||
+ | |||
+ | == ОБОРУДОВАНИЕ. Устраните запаздывание звука == | ||
+ | |||
+ | : '''ПО: ESD, Artsd • Сложность: Средне''' | ||
+ | |||
+ | У вас самая современная и «навороченная» звуковая карта, вы установили новейший, | ||
+ | самый продвинутый дистрибутив и продолжаете рваться вперед. но по ряду причин вы | ||
+ | получаете задержки в звуковых эффектах игр и во время проигрывания музыки. | ||
+ | Зачастую подобное происходит со звуковыми службами, используемыми в Gnome и | ||
+ | KDE, называемые ''ESD'' и ''Artsd'' соответственно. Эти службы работают как посредники | ||
+ | между оборудованием и ПO, позволяя нескольким приложениям проигрывать звуки | ||
+ | одновременно, но при этом может возникать запаздывание на 1-2 секунды, т.к. софт не | ||
+ | работает непосредственно с оборудованием через '''/dev/devices'''. Вы можете отключить | ||
+ | данные службы (завершите их работу с помощью менеджера процессов, если потребуется) и настроить ваши программы на прямое использование вывода '''OSS''' или '''ALSA'''. | ||
+ | |||
+ | == КОМАНДНАЯ СТРОКА. Используйте сжатие для ''SSH''-соединения == | ||
+ | |||
+ | : '''ПО: OpenSSH • Сложность: Легко''' | ||
+ | |||
+ | Если вы используете инструмент удаленного доступа ''SSH'' на медленных соединениях, | ||
+ | вы будете часто сталкиваться с высокой задержкой между вводом символа и его | ||
+ | отображением. работа по ''SSH'' между двумя компьютерами по коммутируемым линиям зачастую приводит к ужасающей ненадежности. К счастью, есть один простой путь обойти это: сжатие (отправка меньшего объема данных в линию). используя флаг '''-C''' в ''OpenSSH'', вы можете применить компрессию к соединению, значительно улучшив время отклика, при этом используется тот же метод, что и в ''gzip''. Вы можете даже | ||
+ | применить '''-C''' к ''scp''; однако, если файл или файлы, которые вы пересылаете, уже сжаты, это только замедлит отправку. Вот пример команды на вход в систему с включенным сжатием: | ||
+ | |||
+ | # ssh -C user@hostname | ||
+ | |||
+ | == КОМАНДНАЯ СТРОКА. Открывайте ''Emacs'' мгновенно == | ||
+ | |||
+ | : '''ПО: Emacs • Сложность: Легко''' | ||
+ | |||
+ | Многие современные системы не имеют проблем с загрузкой ''Emacs'', но когда-то ему | ||
+ | было дано насмешливое имя «Eight Megs And Constantly Swapping» («Восемь мегабайт | ||
+ | и постоянная подкачка»), из-за того, как он использовал память. Hа старых компьютерах | ||
+ | его загрузка может отнимать довольно длительное время, однако есть полезное решение – клиент ''emacsclient''. Добавьте строку ('''server-start''') в ваш файл '''~/.emacs''', и запустите ''Emacs''. Когда вам нужно открыть другую сессию ''Emacs'', вместо запуска всего | ||
+ | приложения вы можете загрузить ''emacsclient <имя_файла>''. Oн присоединится к текущему процессу ''Emacs'' и откроет буфер редактирования, вместо того чтобы запускать другой экземпляр приложения, и тем самым сэкономит время и память. | ||
+ | |||
+ | == КОМАНДНАЯ СТРОКА. Bыслеживайте пожирателей ресурсов процессора и памяти == | ||
+ | |||
+ | : '''ПО: top • Сложность: Легко''' | ||
+ | |||
+ | Команда ''top'' может дать вам посекундный отчет о загрузке системы, использовании | ||
+ | памяти и задействовании процессора. Простейший способ начать использовать ее – просто запустить ''top'' из командной строки, набрав одноименную команду. Вы получите информационный экран, обновляющийся каждые две секунды. | ||
- | + | Hажмите клавишу '''?''', когда ''top'' запущен, чтобы просмотреть список доступных команд. ''Top'' имеет несколько очень полезных клавиш отображения – в частности, это '''M''' (которая выполняет сортировку по размеру занимаемой памяти), '''P''' (которая сортирует по использованию процессора), '''S''' (для переключения совокупного времени работы - это то, как долго каждый процесс и его дочерние процессы запущены, в секундах процессорного времени), и '''I''' (чтобы не отображать спящие процессы). | |
- | + | == КОМАНДНАЯ СТРОКА. Редактируйте удаленные файлы локально== | |
- | + | : '''ПО: Vim • Сложность: Легко''' | |
- | + | Скажем, вы вошли на удаленную систему и редактируете файл. на медленной линии | |
+ | процесс редактирования может быть неудобным и неустойчивым, но ''Vim'' предлагает | ||
+ | быстрое решение. Введя '''URI scp://''' в ''Vim'', вы передадите файл на локальную машину, отредактируете его и затем отошлете обратно, когда закончите работу. Так достигается значительное увеличение скорости на коммутируемых соединениях. Пример | ||
+ | редактирования удаленного файла: | ||
- | : | + | # vim scp://user@hostname.org//home/user/filename |
- | + | == КОМАНДНАЯ СТРОКА. Копируйте установочные CD на жесткий диск == | |
- | + | ||
- | + | ||
- | + | ||
- | + | : '''ПО: — • Сложность: Сложно''' | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | Многие дистрибутивы требуют постоянного доступа к установочным дискам, чтобы | |
+ | иметь возможность устанавливать новое ПО, что очень медленно и неудобно. Однако | ||
+ | копирование всех файлов на диск – довольно тяжелое занятие. Решением является | ||
+ | создание ISO-образа для каждого диска, который вы сможете затем сохранить смонтированным на ваш жесткий диск. Чтобы создать ISO-образ, вставьте диск в привод и введите следующую команду в приглашении оболочки (пример для Mandriva Linux): | ||
- | == | + | dd if=/dev/cdrom of=MandrivaCD1.iso. |
- | + | Как только вы создадите образы каждого диска, вам просто нужно будет смонтировать их. Чтобы команды монтирования выполнялись автоматически при загрузке, их следует добавить в скрипт, запускаемый при старте системы. Сперва вам нужно создать каталог назначения, затем ввести команду монтирования, как показано ниже; затем войти в ваш менеджер пакетов и настроить смонтированные диски как источник файлов. | |
- | + | # mkdir /mnt/mandriva1 | |
- | + | # mount -o loop -t iso9660 MandrivaCD1.iso /mnt/mandriva1 | |
- | + | ||
- | + | ||
- | + | ||
- | + | == КОМАНДНАЯ СТРОКА. Ускорьте дублирование CD == | |
- | + | ||
- | + | : '''ПО: cdrecord • Сложность: Сложно''' | |
- | : | + | Самый надежный способ сделать копию CD-диска – сначала сделать ISO-образ, а затем записать его на чистый CD. К сожалению, иногда у вас нет места (или времени) для промежуточного шага при изготовлении копии. Если у вас достаточно быстрый компьютер, вы, как правило, можете записать один CD-диск непосредственно с другого, например, так: |
- | + | # dd if=/dev/hdb | cdrecord -v speed=12 dev=0,0,0 fs=8m -data - | |
- | + | Аргумент «'''–'''» команды ''cdrecord'' означает, что дорожки данных следует читать со стандартного входа (STDIN). Строка ''dd'' создает канал (pipe) между ''cdrecord'' и копируемым CD-диском, подключенным в режиме «slave» к первому IDE-контроллеру (hdb). Параметр '''fs=8m''' делает буфер записи | |
+ | несколько больше, чтобы исключить возможные «заикания» в процессе записи. | ||
- | + | == КОМАНДНАЯ СТРОКА. Bыжмите все из оболочки ''bash'' == | |
- | + | : '''ПО: оболочка bash • Сложность: Легко''' | |
- | + | ||
- | + | Почти каждый дистрибутив использует ''bash'' как оболочку командной строки, однако | |
+ | многие пользователи не знают, какие эргономичные функции она содержит. Oдна из | ||
+ | лучших – автодополнение: вместо того, чтобы набирать каждое имя файла и команду | ||
+ | полностью, вы можете ввести первые символы и затем нажать клавишу '''Tab''', чтобы | ||
+ | ''bash'' дополнила ваш ввод. Другая удобная функция – история команд: в строке приглашения нажимайте стрелки вверх и вниз, чтобы циклически перемещаться по командам, которые вы вводили ранее. | ||
- | == | + | == КОМАНДНАЯ СТРОКА. Oткажитесь от ''find'' в пользу ''slocate'' == |
- | : '''ПО: | + | : '''ПО: find, slocate • Сложность: Средне''' |
- | + | Утилита командной строки ''find'' очень полезна для поиска файлов, но она просматривает каждый отдельный каталог, а это довольно кропотливая работа. Лучшее решение – это ''slocate'', которая строит базу данных файлов для гораздо более быстрого поиска. | |
+ | (обратной стороной медали является то, что вам нужно часто обновлять эту базу данных). Для получения дополнительной информации откройте окно терминала и введите ''man slocate'' и ''man updatedb''. Во многих дистрибутивах настроено еженедельное обновление базы ''slocate'' по ''cron''. | ||
- | == | + | == КОМАНДНАЯ СТРОКА. Oптимизируйте ваши файловые системы == |
- | : '''ПО: | + | : '''ПО: mount • Сложность: Средне''' |
- | + | По умолчанию, каждый раз, когда выполняется доступ к файлу из Linux, на диск | |
+ | записывается дополнительный объем данных. Эти данные показывают, когда к | ||
+ | файлу было последнее обращение, что может быть полезным при некоторых | ||
+ | обстоятельствах. Соответственно, это означает, что каждая операция чтения | ||
+ | файла также нуждается в операции записи, что несколько влияет на производительность. Вы можете отключить это, добавив noatime в опции монтирования в файле '''/etc/fstab'''. Oднако будьте осторожны, поскольку некоторые программы рассчитывают на то, что время доступа к файлу обновляется, так что будьте готовы к проблемам. Пример: | ||
- | + | /dev/hda1/ ext3 defaults,noatime 0 1 | |
- | + | == КОМАНДНАЯ СТРОКА. Используйте многозадачность с помощью ''screen'' == | |
- | + | ||
- | + | : '''ПО: screen • Сложность: Легко''' | |
- | + | ''Screen'' – это, по сути, оконный менеджер для текстовой консоли, позволяющий вам переключаться между программами без необходимости отдельного входа в систему (например, на нескольких виртуальных терминалах). Вы можете запустить, скажем, ''Emacs'' на одном экране, нажать клавишу и переключиться в ''Irssi''. и даже больше: вы можете отсоединяться от экрана на время. Познакомьтесь поближе с этим прекрасным инструментом в рубрике [[LXF72:Ответы|«Вопрос? Oтвет!»]] текущего выпуска. Если он отсутствует в вашем дистрибутиве, вы найдете его на нашем диске или на http://www.gnu.org/software/screen. | |
- | + | = Итог = | |
- | + | Ух! итак, что мы имеем? 72 совета, охватывающих все аспекты Linux. Использовав понравившиеся рецепты, вы почувствуете | |
+ | значительный прирост производительности вашей системы. Воспользуйтесь 20 или 30 подсказками, и ваш ПК будет рваться вперед. Если (как-нибудь) вы сможете воспользоваться всеми 72-мя советами на отдельно взятом компьютере… Хорошо, не вините нас, когда вы выбьете свои окна, достигнув | ||
+ | скорости звука. Но и это еще не все: если у вас есть собственные рецепты, почему бы не поделиться ими с остальными на нашем | ||
+ | форуме http://unixforum.org ? '''LXF''' | ||
- | + | == HАШИ БЛАГОДАРНОСТИ… == | |
- | + | Благодарим издательство O’Reilly, любезно предоставившее нам право использовать некоторые | |
- | + | советы из их книг «Linux Desktop Hacks» (Petreley and Bacon, 2005) и «Linux Server Hacks» | |
- | + | (Flickenger, 2003). Смотрите http://www.oreilly.com | |
- | + | для получения дополнительной информации. |
Текущая версия
- Советы по ускорению
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.
Грэхем считает…
«Внимание! есть сведения, что некоторые флаги hdparm могут повредить данные. На странице справочного руководства акцентируется внимание на проблемных ключах.»
ОБОРУДОВАНИЕ. Добавьте подвижности вашей мышке и клавиатуре
- ПО: любой оконный менеджер • Сложность: Легко
Для большинства людей высокая скорость повторения символа клавиатуры и более быстрые перемещения мыши становятся важны для навигации по большим документам. Некоторые графические оболочки и оконные менеджеры включают собственные инструменты для настройки параметров мыши и клавиатуры, но если у вас этого нет, вы можете снизойти до стандартного инструмента xset, имеющегося во всех вариантах системы X11. Вот пример настройки периода повтора для клавиатуры:
# xset rate 500 30
Эта команда установит задержку в 500 миллисекунд с момента нажатия клавиши, пока не начнется повтор символов. Повторяться символы будут со скоростью 30 шт./с.
ОБОРУДОВАНИЕ. Включите поддержку ускорения OpenGL в X11
- ПО: X.org • Сложность: Сложно
Если вы используете настольный дистрибутив, такой как Mandriva или SUSE, скорее всего программа установки правильно настроила графический интерфейс X11 для вас с первого раза. Oднако если в определенных случаях вам может понадобиться настроить OpenGL, обеспечивающий поддержку трехмерной графики (3D). Это не слишком сложно, если вы понимаете, что делаете. Сперва убедитесь, что ваше ядро поддерживает шину AGP (введите dmesg | grep -i agp и lsmod | grep -i agp в терминале и посмотрите, есть ли строка agpgart). Если нет, то вам нужно будет перекомпилировать ядро с включенными параметрами MTRR, AGP и DRM. Добавьте строки Load «dri» и Load «glx» в секции Module файла xorg.conf (обычно находится в /etc/X11) и перезапустите X-сервер. Команда glxinfo | grep direct должна вернуть «Yes».
ОБОРУДОВАНИЕ. Работайте с фирменными видеодрайверами
- ПО: -- • Сложность: Средне
Видеодрайверы в стандартной поставке X.org подходят для обеспечения хорошей производительности для большинства видеокарт, но в некоторых случаях вы можете увеличить скорость, используя проприетарные драйверы, разрабатываемые производителем видеокарты. Драйверы nVIDIA, которые можно найти на странице http://www.nvidia.com/object/unix.html , делятся на модули ядра и модули X.org и представляют собой один универсальный архив, включающий в себя программу-установщик модулей для наиболее распространенных ядер Linux. Если ваше ядро по какой-то причине не попало в список, то установщик предложит поискать модуль на сайте nVIDIA (через FTP) либо собрать его автоматически (понадобятся исходные тексты ядра или его заголовочные файлы – пакет kernel-headers). Следует знать, что установщик видеодрайвера запустится только в текстовом режиме и потребует от вас установленного пакета binutils и стандартных утилит разработчика. После установки, отредактируйте ваш xorg.conf, заменив строку устройства nv на nvidia, и удалите строку dri в Module Load. Драйвера ATI доступны на http://www.ati.com – документация в поставке разъясняет, как их установить. В обоих случаях вы пожертвуете некоторой свободой во имя увеличения скорости, что имеет смысл, прежде всего, для игр.
ОБОРУДОВАНИЕ. Используйте каждый байт вашей оперативной памяти
- ПО: ядро Linux • Сложность: Сложно
Linux способен адресовать до 64 Гб физической памяти на системах x86. Но если вы хотите использовать более чем 960 Мб озУ, вы должны будете сообщить системе об этом. Прежде всего, ваше ядро Linux должно быть сконфигурировано для поддержки дополнительной памяти. Способ, которым ядро адресует доступную системную память, диктуется настройкой High Memory Support (известной как параметр CONFIG_NOHIGHMEM). Установите его согласно объему памяти, который вы предполагаете использовать.
Имейте в виду, что выбор 64 Гб требует процессор, способный использовать режим PAE (Physical Address Extension). Как только ядро будет собрано и установлено, вам, вероятно, придется сообщить загрузчику, сколько памяти установлено, чтобы он мог проинформировать ядро во время загрузки (поскольку не каждый BIOS аккуратен в вопросе определения общего объема системной памяти). Добавьте mem=<number>M в строке, описывающей ядро в конфигурационном файле LILO или GRUB.
ОБОРУДОВАНИЕ. Попробуйте мышь в текстовом режиме
- ПО: GPM • Сложность: Легко
Если вы не устанавливали на свою машину систему X Window, это не означает, что вы вообще не сможете пользоваться мышью. Есть маленькая щеголеватая программа под названием GPM (General Purpose Mouse), которая предоставляет простую поддержку мыши в интерфейсе командной строки: курсор, вместе со средствами копирования и вставки. Это может быть очень удобно, например, в IRC-клиенте или почтовой программе, не включающей полноценный редактор (и не позволяющий вам получить доступ к нему). GPM можно найти на странице http://linux.schottelius.org/gpm , также он доступен в составе многих популярных дистрибутивов – и вы можете воспылать любовью к командной строке!
ОБОРУДОВАНИЕ. «Разгоните» вашу карту nVIDIA
- ПО: nvidia-settings • Сложность: Сложно
Pазгон опасен. Вы можете необратимо повредить ваше оборудование, поэтому будьте осторожны, пожалуйста. Последние драйвера NVIDIA включают возможность запускать процессор и память вашей графической карты на более высокой частоте, чем та, для которой они проектировались. небольшое увеличение частоты может повысить производительность, но также может привести к перегреву карты. Чтобы заняться разгоном, вам понадобится свежий драйвер с домашней страницы NVIDIA. отредактируйте конфигурационный файл X11, обычно это /etc/X11/xorg.conf, добавив следующую строку в секцию устройства NVIDIA:
Option «Coolbits» «1»
После перезапуска X-сервера, вы сможете изменять тактовую частоту в приложении nvidia-settings, включенном в драйвер. С включенным параметром Coolbits появится дополнительная страница, называющаяся Clock Frequencies, где вы сможете настроить скорость графического процессора и памяти. Выполняйте это с предельной осторожностью и делайте только небольшие изменения, чтобы ваша система не расплавилась.
ОБОРУДОВАНИЕ. Устраните запаздывание звука
- ПО: ESD, Artsd • Сложность: Средне
У вас самая современная и «навороченная» звуковая карта, вы установили новейший, самый продвинутый дистрибутив и продолжаете рваться вперед. но по ряду причин вы получаете задержки в звуковых эффектах игр и во время проигрывания музыки. Зачастую подобное происходит со звуковыми службами, используемыми в Gnome и KDE, называемые ESD и Artsd соответственно. Эти службы работают как посредники между оборудованием и ПO, позволяя нескольким приложениям проигрывать звуки одновременно, но при этом может возникать запаздывание на 1-2 секунды, т.к. софт не работает непосредственно с оборудованием через /dev/devices. Вы можете отключить данные службы (завершите их работу с помощью менеджера процессов, если потребуется) и настроить ваши программы на прямое использование вывода OSS или ALSA.
КОМАНДНАЯ СТРОКА. Используйте сжатие для SSH-соединения
- ПО: OpenSSH • Сложность: Легко
Если вы используете инструмент удаленного доступа SSH на медленных соединениях, вы будете часто сталкиваться с высокой задержкой между вводом символа и его отображением. работа по SSH между двумя компьютерами по коммутируемым линиям зачастую приводит к ужасающей ненадежности. К счастью, есть один простой путь обойти это: сжатие (отправка меньшего объема данных в линию). используя флаг -C в OpenSSH, вы можете применить компрессию к соединению, значительно улучшив время отклика, при этом используется тот же метод, что и в gzip. Вы можете даже применить -C к scp; однако, если файл или файлы, которые вы пересылаете, уже сжаты, это только замедлит отправку. Вот пример команды на вход в систему с включенным сжатием:
# ssh -C user@hostname
КОМАНДНАЯ СТРОКА. Открывайте Emacs мгновенно
- ПО: Emacs • Сложность: Легко
Многие современные системы не имеют проблем с загрузкой Emacs, но когда-то ему было дано насмешливое имя «Eight Megs And Constantly Swapping» («Восемь мегабайт и постоянная подкачка»), из-за того, как он использовал память. Hа старых компьютерах его загрузка может отнимать довольно длительное время, однако есть полезное решение – клиент emacsclient. Добавьте строку (server-start) в ваш файл ~/.emacs, и запустите Emacs. Когда вам нужно открыть другую сессию Emacs, вместо запуска всего приложения вы можете загрузить emacsclient <имя_файла>. Oн присоединится к текущему процессу Emacs и откроет буфер редактирования, вместо того чтобы запускать другой экземпляр приложения, и тем самым сэкономит время и память.
КОМАНДНАЯ СТРОКА. Bыслеживайте пожирателей ресурсов процессора и памяти
- ПО: top • Сложность: Легко
Команда top может дать вам посекундный отчет о загрузке системы, использовании памяти и задействовании процессора. Простейший способ начать использовать ее – просто запустить top из командной строки, набрав одноименную команду. Вы получите информационный экран, обновляющийся каждые две секунды.
Hажмите клавишу ?, когда top запущен, чтобы просмотреть список доступных команд. Top имеет несколько очень полезных клавиш отображения – в частности, это M (которая выполняет сортировку по размеру занимаемой памяти), P (которая сортирует по использованию процессора), S (для переключения совокупного времени работы - это то, как долго каждый процесс и его дочерние процессы запущены, в секундах процессорного времени), и I (чтобы не отображать спящие процессы).
КОМАНДНАЯ СТРОКА. Редактируйте удаленные файлы локально
- ПО: Vim • Сложность: Легко
Скажем, вы вошли на удаленную систему и редактируете файл. на медленной линии процесс редактирования может быть неудобным и неустойчивым, но Vim предлагает быстрое решение. Введя URI scp:// в Vim, вы передадите файл на локальную машину, отредактируете его и затем отошлете обратно, когда закончите работу. Так достигается значительное увеличение скорости на коммутируемых соединениях. Пример редактирования удаленного файла:
# vim scp://user@hostname.org//home/user/filename
КОМАНДНАЯ СТРОКА. Копируйте установочные CD на жесткий диск
- ПО: — • Сложность: Сложно
Многие дистрибутивы требуют постоянного доступа к установочным дискам, чтобы иметь возможность устанавливать новое ПО, что очень медленно и неудобно. Однако копирование всех файлов на диск – довольно тяжелое занятие. Решением является создание ISO-образа для каждого диска, который вы сможете затем сохранить смонтированным на ваш жесткий диск. Чтобы создать ISO-образ, вставьте диск в привод и введите следующую команду в приглашении оболочки (пример для Mandriva Linux):
dd if=/dev/cdrom of=MandrivaCD1.iso.
Как только вы создадите образы каждого диска, вам просто нужно будет смонтировать их. Чтобы команды монтирования выполнялись автоматически при загрузке, их следует добавить в скрипт, запускаемый при старте системы. Сперва вам нужно создать каталог назначения, затем ввести команду монтирования, как показано ниже; затем войти в ваш менеджер пакетов и настроить смонтированные диски как источник файлов.
# mkdir /mnt/mandriva1 # mount -o loop -t iso9660 MandrivaCD1.iso /mnt/mandriva1
КОМАНДНАЯ СТРОКА. Ускорьте дублирование CD
- ПО: cdrecord • Сложность: Сложно
Самый надежный способ сделать копию CD-диска – сначала сделать ISO-образ, а затем записать его на чистый CD. К сожалению, иногда у вас нет места (или времени) для промежуточного шага при изготовлении копии. Если у вас достаточно быстрый компьютер, вы, как правило, можете записать один CD-диск непосредственно с другого, например, так:
# dd if=/dev/hdb | cdrecord -v speed=12 dev=0,0,0 fs=8m -data -
Аргумент «–» команды cdrecord означает, что дорожки данных следует читать со стандартного входа (STDIN). Строка dd создает канал (pipe) между cdrecord и копируемым CD-диском, подключенным в режиме «slave» к первому IDE-контроллеру (hdb). Параметр fs=8m делает буфер записи несколько больше, чтобы исключить возможные «заикания» в процессе записи.
КОМАНДНАЯ СТРОКА. Bыжмите все из оболочки bash
- ПО: оболочка bash • Сложность: Легко
Почти каждый дистрибутив использует bash как оболочку командной строки, однако многие пользователи не знают, какие эргономичные функции она содержит. Oдна из лучших – автодополнение: вместо того, чтобы набирать каждое имя файла и команду полностью, вы можете ввести первые символы и затем нажать клавишу Tab, чтобы bash дополнила ваш ввод. Другая удобная функция – история команд: в строке приглашения нажимайте стрелки вверх и вниз, чтобы циклически перемещаться по командам, которые вы вводили ранее.
КОМАНДНАЯ СТРОКА. Oткажитесь от find в пользу slocate
- ПО: find, slocate • Сложность: Средне
Утилита командной строки find очень полезна для поиска файлов, но она просматривает каждый отдельный каталог, а это довольно кропотливая работа. Лучшее решение – это slocate, которая строит базу данных файлов для гораздо более быстрого поиска. (обратной стороной медали является то, что вам нужно часто обновлять эту базу данных). Для получения дополнительной информации откройте окно терминала и введите man slocate и man updatedb. Во многих дистрибутивах настроено еженедельное обновление базы slocate по cron.
КОМАНДНАЯ СТРОКА. Oптимизируйте ваши файловые системы
- ПО: mount • Сложность: Средне
По умолчанию, каждый раз, когда выполняется доступ к файлу из Linux, на диск записывается дополнительный объем данных. Эти данные показывают, когда к файлу было последнее обращение, что может быть полезным при некоторых обстоятельствах. Соответственно, это означает, что каждая операция чтения файла также нуждается в операции записи, что несколько влияет на производительность. Вы можете отключить это, добавив noatime в опции монтирования в файле /etc/fstab. Oднако будьте осторожны, поскольку некоторые программы рассчитывают на то, что время доступа к файлу обновляется, так что будьте готовы к проблемам. Пример:
/dev/hda1/ ext3 defaults,noatime 0 1
КОМАНДНАЯ СТРОКА. Используйте многозадачность с помощью screen
- ПО: screen • Сложность: Легко
Screen – это, по сути, оконный менеджер для текстовой консоли, позволяющий вам переключаться между программами без необходимости отдельного входа в систему (например, на нескольких виртуальных терминалах). Вы можете запустить, скажем, Emacs на одном экране, нажать клавишу и переключиться в Irssi. и даже больше: вы можете отсоединяться от экрана на время. Познакомьтесь поближе с этим прекрасным инструментом в рубрике «Вопрос? Oтвет!» текущего выпуска. Если он отсутствует в вашем дистрибутиве, вы найдете его на нашем диске или на http://www.gnu.org/software/screen.
Итог
Ух! итак, что мы имеем? 72 совета, охватывающих все аспекты Linux. Использовав понравившиеся рецепты, вы почувствуете значительный прирост производительности вашей системы. Воспользуйтесь 20 или 30 подсказками, и ваш ПК будет рваться вперед. Если (как-нибудь) вы сможете воспользоваться всеми 72-мя советами на отдельно взятом компьютере… Хорошо, не вините нас, когда вы выбьете свои окна, достигнув скорости звука. Но и это еще не все: если у вас есть собственные рецепты, почему бы не поделиться ими с остальными на нашем форуме http://unixforum.org ? LXF
HАШИ БЛАГОДАРНОСТИ…
Благодарим издательство O’Reilly, любезно предоставившее нам право использовать некоторые советы из их книг «Linux Desktop Hacks» (Petreley and Bacon, 2005) и «Linux Server Hacks» (Flickenger, 2003). Смотрите http://www.oreilly.com для получения дополнительной информации.