Прошли те времена, когда
за время загрузки операционной системы можно было заварить и выпить чашечку чая
(с одним заметным исключением). Исходя из этого, можно подумать, что ваш
компьютер с Linux уже работает на максимуме скорости, верно?
Увы, не всегда. Сообществам, развивающим популярные дистрибутивы, нужно
привлечь самую широкую аудиторию и гарантировать совместимость с любым
оборудованием. Получается, что у тех, кто ставит дистрибутив на нетбуке или
недорогом ПК, практически та же конфигурация ПО, что и у владельца мощного
игрового компьютера. Но так не должно быть!
При помощи пары-другой
настроек и небольшого экспериментирования ваша Linux-система высвободит скрытый потенциал машины.
У вас процессор с двумя ядрами? Запускайте процессы параллельно. Избыток
оперативной памяти? Отведите его под кэш данных. Сила всеми любимой свободной
ОС в том, что ее можно настроить с самого основания, так что Linux – идеальный
инструмент для подгонки по вашим меркам.
Ну, а если у вас сверхбыстрая система, куда уж еще эффективнее? Мы
расспросили читателей LXF и выдающихся членов сообщества свободного ПО
об их любимых ухищрениях для повышения производительности — вам они тоже
пригодятся!
Тратите
бесценные мгновения своей жизни, дожидаясь появления рабочего стола?
Любую рабочую машину хотелось бы приводить в готовность как можно
скорее, а при вялой загрузке ваш трудовой порыв выдыхается. Именно поэтому наши
реформы начинаются с сокращения времени загрузки. Но сперва предупредим: до
внесения изменений в конфигурационные файлы обязательно сделайте резервные
копии, так как ошибка в загрузчике может сделать компьютер с Linux
неработоспособным!
Ликвидация задержки
Можно заметить, что при каждой загрузке идет небольшой обратный
отсчет, [обычно] от трех до нуля. Изначально это было введено для гарантии, что
более старое оборудование успеет подготовиться к работе до того, как стартует
ядро. Современным системам такого не требуется; вот и устраним лишнюю задержку.
Откройте от имени суперпользователя-root в текстовом редакторе файл /boot/grub/menu.lst и поищите строку,
содержащую:
timeout=3
Найдя ее, исправьте
значение на ноль. После сохранения, выхода и перезагрузки вы заметите, что
сэкономили целых три секунды. Однако это может оказаться неудобным, если у вас
двойная загрузка: придется как-то успевать выбирать «неумолчательную» ОС.
Улучшим работу диска
Если ваш жесткий диск DMA-совместим (DMA – это Direct Memory
Access, прямой доступ к памяти), но данный режим почему-то не активирован,
небольшой настройкой можно существенно повысить пропускную способность. Это
ускорит загрузку: время чтения уменьшится, а общая производительность
винчестера повысится. Сначала установите hdparm из вашего менеджера
пакетов, затем откройте терминал root и введите:
hdparm -d1 /dev/hda
заменив /dev/hda на
имя устройства, соответствующего вашему жесткому диску. Вы можете также
добавить соответствующий ключ -X –
подробности можно найти на man-странице hdparm.
Пользователи
Gnome могут делать все это автоматически, зайдя в Система >
Администрирование > Службы. Затем команду следует добавить как пункт,
приписав в начале gksudo, чтобы
она выполнялась с правами root без дополнительной аутентификации.
Параллелизм
Распараллеливание может дать сильный выигрыш в производительности,
ведь выполнение сразу двух процессов вдвое экономит время по сравнению с их
поочередной работой (по крайней мере, в теории). Воспользуйтесь этим в системах
на базе Debian/Ubuntu, открыв (от имени root) файл /etc/init.d/rc в
текстовом редакторе и отыскав такую строку:
CONCURRENCY=none
Затем замените none на shell, сохраните файл и
закройте редактор. При следующем старте вы увидите заметное уменьшение времени
загрузки (обычно на одну или две секунды).
Если улучшения
не наблюдается, то по причине направленности данной опции на системы с
многоядерными процессорами.
Для одноядерных
процессоров такая настройка на самом деле увеличит время загрузки. На нашей
тестовой системе время увеличилось на 2,4 секунды.
Оптимизация
памяти
Прекрасный способ повысить производительность – умело
распорядиться подкачкой. Раздел подкачки – это место, где ядро Linux временно
хранит содержимое оперативной памяти, быстро возвращая его обратно в ОЗУ при
необходимости. Выделенный раздел не обязателен, однако он также используется
для сохранения состояния машины при переходе в спящий режим. Эффект от данной
подсказки будет зависеть от вашей системы и от того, есть ли у вас раздел
подкачки, однако при достаточном ОЗУ вы увидите, что менее активное
использование подкачки приводит к заметному повышению производительности.
Откройте в текстовом редакторе, запущенном от имени root, файл /etc/sysctl.conf
и припишите в самый конец следующую строку:
vm.swappiness=10
(Чтобы изменения возымели действие, понадобится перезагрузка.)
Значение можно менять, отслеживая изменение производительности. Чем меньше этот
параметр, тем реже будет использоваться подкачка, и тем больше данных будет
храниться в памяти. Представленное значение, на наш взгляд, давало лучшую
производительность на тестовой системе с 512 МБ ОЗУ.
Однако этот совет не ограничивается системами с большим ОЗУ – системы с 256 МБ и даже меньше обретут большую производительность, если увеличить интенсивность подкачки: при этом в раздел подкачки попадет больше данных, высвободив память для штатных задач. Точные значения разнятся от системы к системе и требуют экспериментов, главным образом потому, что чтение данных из раздела подкачки занимает больше времени, чем чтение из памяти; но конечный результат обычно стоит затраченных усилий.
Оптимизация
Gnome
Отправьте
ненужные элементы автозапуска и элементы меню на свалку истории.
Наряду с KDE, Gnome является одним из двух
наиболее широко используемых окружений рабочего стола в экосистеме Linux, но по
части производительности и скорости его резво обгоняют Xfce и другие
более легковесные альтернативы. Хотя… несколько подстроек, и Gnome сможет
держаться с ними голова к голове.
Установка
preload
Preload –
это демон, который анализирует состав ваших повседневных задач и выбирает
наиболее вероятные в использовании бинарники и файлы, чтобы снизить время
загрузки и повысить общую производительность. В Ubuntu просто поищите "preload”
в менеджере пакетов, но в других дистрибутивах стоит проверить, запущена ли эта
служба. Чтобы включить ее, наберите
service preload on
Мы активировали
автоматический вход и установили preload, а потом сделали две
перезагрузки на тестовой машине, и демон начал отслеживать запуски программ.
После сравнения мы обнаружили, что preload укоротил время, требуемое на
появление рабочего стола, на секунду. Звучит не очень внушительно, но в связке
с вашей новой быстрой загрузкой системы стоит затраченных усилий.
Автоматический вход
Ну да, мы
постоянно напоминаем вам о важности безопасности. Однако если вы живете один в
замке, не имеющем выхода в Интернет, отчего бы не включить автоматический вход
– сэкономится время на ввод пароля! Проще всего сделать это через GUI. Просто
зайдите в System > Administration > Login Window [Система >
Администрирование > Вход в систему]. Представьтесь системе, перейдите на
вкладку Security [Безопасность] и поставьте галочку рядом с Automatic Login
[Автовход]. Затем в выпадающем списке отметьте пользователей, для которых
автоматический вход будет работать.
|
Сочетание клавиш |
Действие |
|
Ctrl+L |
Очистка терминала
(работает в Konsole и Bash) |
|
Вверх, затем Ctrl+T |
Берет последнюю
введенную команду и меняет местами последние две буквы |
|
Ctrl+R |
Поиск в истории
введенных команд (только в Bash) |
|
Ctrl+Alt+(F1-7) |
Переход в
виртуальный терминал (F7 возвращает в GUI, если только у вас не Fedora) |
|
Alt+Лево/Право |
Циклическое
перемещение по терминалам (если вы не в GUI) |
Проволочные
рамки
Обычная проблема медленных систем – запаздывание, возникающее при
перетаскивании окна. Gnome отображает содержимое окна при его перемещении, и
это может понизить производительность. Однако существует встроенный метод
уменьшить сопутствующие требования к системным ресурсам. Введите в терминале
gconftool-2 --type bool --set
/apps/metacity/general/reduced_resources true
Теперь при
перетаскивании окна вы увидите вместо его содержимого проволочную рамку, что
решительно повысит производительность маломощных систем (а в других случаях
улучшения почти не будет). Только учтите, что этот трюк не заработает, если у
вас Compiz или какой-нибудь другой хитрый оконный менеджер.
К сожалению, пользователям Fedora такая возможность недоступна, и
необходимые изменения нужно проделывать вручную. Чтобы включить автоматический
вход, откройте в текстовом редакторе, работающем от имени root, файл /etc/gdm/custom.conf и затем припишите
в конце такие строки:
[daemon]
TimedLoginEnable=True
TimedLogin=UserName
TimedLoginDelay=0
заменив UserName на
имя пользователя, для которого вы хотите разрешить автоматический вход.
Ускорение меню
Если ваши меню слишком лениво стартуют, наиболее вероятная причина
– это иконки. При первом после включения машины открытии меню Gnome пиктограммы
подгружаются из своих файлов. На медленных системах это выглядит довольно
неопрятно, и чтобы подгрузка иконок завершилась к моменту, когда вы все их увидите,
намеренно вводится задержка.
Однако на современном оборудовании это не всегда необходимо, и
данную опцию можно спокойно поменять. Создайте в вашем домашнем каталоге новый
файл под названием .gtkrc-2.0 и откройте его в вашем любимом
текстовом редакторе, где наберите
gtk-menu-popup-delay=0
Сохранив файл,
нажмите Ctrl+Alt+Backspace для перезапуска xserver, и ваши меню будут
открываться заметно быстрее.
Оптимизация KDE
Скрытые функции
KDE резко повышают производительность.
В последнее время о KDE пишут всякое.
Однако при том, что у KDE 4 несомненно прекрасный внешний вид, и новые
плазмоиды ставят его вне конкуренции, он все еще не может тягаться с KDE 3 (или
даже Gnome) в плане скорости и производительности. Хотя эти проблемы усиленно
решаются, несколько настроек могут сэкономить пару секунд драго-ценного времени
загрузки и сделать весь рабочий стол гораздо более отзывчивым.
Ускорение ext3
Можно приобрести значительное преимущество в производительности,
задействовав в ext3 режим обратной записи [write-back]. Это свойство не
ограничивается системами с KDE, однако почти во всех дистрибутивах оно по
умолчанию отключено – в основном потому, что обеспечивает защиту от сбоя для
метаданных файловой системы, но не для хранящихся в файлах данных. Данная
настройка не оказывает заметного влияния при типовых нагрузках на диск, как в
домашней системе, но может сказаться при высокой интенсивности операций
чтения/записи, что является прерогативой серверов. Сделав резервную копию
данных, откройте от имени root в текстовом редакторе файл /etc/fstab, найдите строку с
фрагментом
relatime,errors=remount-ro
и замените ее на
noatime,nodiratime,errors=remount-ro,data=writeback
Если слева или справа от
этого фрагмента не будет текста, то вы где-то ошиблись! Сохраните файл и выйдите
из редактора, затем откройте /boot/grub/menu.lst
и найдите следующие строки:
# defoptions quiet splash
#altoptions=(recoverymode) single
Они стоят не рядом, однако
найдя их, припишите к каждой из них следующее:
rootflags=data=writeback
затем сохраните и закройте
файл. Откройте терминал root, выполните update
grub. Теперь можно просто перезагрузиться, чтобы все изменения вступили
в силу, либо применить их на лету, установив tune2fs из вашего менеджера
пакетов. При выборе последнего варианта вам нужно будет еще открыть терминал
root и ввести там
tune2fs -o journal_data_writeback /dev/hda1
заменив /dev/hda1 на ваш корневой раздел.
Отключение IPv6
Пусть IPv6 уже кое-где реализован, Konqueror вынужден
преобразовывать в него более распространенный IPv4 – так что при отключении
IPv6 вы получите выигрыш в скорости. Способы сделать это различны для разных
дистрибутивов. Например, в Kubuntu нужно отредактировать файл /etc/environment от имени root,
добавив такую строку:
KDE_NO_IPV6=True
В openSUSE, отредактируйте от имени root /etc/sysconfig/windowmanager, где
отыщите строку
KDE_USE_IPV6=”yes”
и поменяйте
ответ на no. В обоих случаях
нужно будет сохранить файл и выйти, затем перезапустить сеанс, чтобы изменения
вошли в силу.
Автоматический вход
Gnome – не
единственный рабочий стол, допускающий автоматический вход в систему:
пользователи KDE 4 могут поступить так же, зайдя в System Settings [Параметры
системы] и щелкнув по вкладке Advanced [Дополнительно], а потом перейдя к
менеджеру входа в систему и задействовав автоматический вход на вкладке
Convenience [Удобства]. Вам также нужно будет пометить пользователя, который
будет входить автоматически, в выпадающем списке, расположенном под галочкой.
После перезагрузки экран входа пропустится, вы сразу увидите заставку KDE 4.
Старт с пустого
сеанса
По умолчанию KDE
4 сохраняет ряд данных о вашем текущем сеансе (открытые окна, запущенные
процессы и пр.), чтобы при следующем входе в систему он был таким же, как и при
окончании работы. Это удобство, однако, замедляет загрузку, так как все данные
подгружаются заново. Проблемы можно избежать, приказав стартовать с пустого
сеанса. Выберите System Settings (или Configure Desktop в OpenSUSE) в меню KDE
и на вкладке Advanced запустите менеджер сеансов. Ближе к низу формы поставьте
переключатель в положение Start With An Empty Session [Начинать с пустой
сессии], затем нажмите Apply [Применить].
Быстрый старт Konqueror
Konqueror заработает
намного быстрее, если включить предзагрузку. Это требует немного памяти, но
зато при запуске Konqueror откроется раза в два шустрее, и как раз на
том месте, где вы его закрыли. Если вы используете старт KDE с пустой сессии,
для паники нет причин, так как мы настроим автоматический запуск предзагрузки
при запуске KDE.
Чтобы включить
предзагрузку, откройте браузер и зайдите в Settings > Configure Konqueror
Параметры >
Настроить Konqueror]. В разделе Performance [Производительность] отметьте
опцию Preload An Instance After KDE Startup [Загружать экземпляр после запуска
KDE]. Тут же можно указать, сколько экземпляров Konqueror будут
предварительно загружаться, в зависимости от того, сколько окон Konqueror вам
надо держать открытыми одновременно.
