LXF124:TopSpeed
|
|
|
Содержание |
Ускоряем Linux
- Всего несколько настроек могут сделать всеми любимую ОС легче, быстрее и мощнее. Боб Мосс перерыл пол-Интернета, чтобы узнать, какие именно.
Прошли те времена, когда за время загрузки операционной системы можно было заварить и выпить чашечку чая (с одним заметным исключением). Исходя из этого, можно подумать, что ваш компьютер с 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 МБ и даже меньше обретут большую производительность, если увеличить интенсивность подкачки: при этом в раздел подкачки попадет больше данных, высвободив память для штатных задач. Точные значения разнятся от системы к системе и требуют экспериментов, главным образом потому, что чтение данных из раздела подкачки занимает больше времени, чем чтение из памяти; но конечный результат обычно стоит затраченных усилий.
Глас Гуру № 1 – Ричард Столлмен
Richard Stallman Основатель проекта GNU
«Главный совет, который я могу дать пользователям – работайте в командной строке. Ограничиваясь GUI, вы смотрите на свою систему сквозь мутное стекло.»
Лучший совет: «Недавно я узнал о команде Bash — M- (если у вас нет клавиши Meta, нажмите Escape, а потом точку), которая копирует последний аргумент предыдущей команды.»
Оптимизация Gnome
- Отправьте ненужные элементы автозапуска и элементы меню на свалку истории.
Наряду с KDE, Gnome является одним из двух наиболее широко используемых окружений рабочего стола в экосистеме Linux, но по части производительности и скорости его резво обгоняют Xfce и другие более легковесные альтернативы. Хотя… несколько подстроек, и Gnome сможет держаться с ними голова к голове.
Установка preload
Preload – это демон, который анализирует состав ваших повседневных задач и выбирает наиболее вероятные в использовании бинарники и файлы, чтобы снизить время загрузки и повысить общую производительность. В Ubuntu просто поищите “preload” в менеджере пакетов, но в других дистрибутивах стоит проверить, запущена ли эта служба. Чтобы включить ее, наберите
service preload on
Мы активировали автоматический вход и установили preload, а потом сделали две перезагрузки на тестовой машине, и демон начал отслеживать запуски программ. После сравнения мы обнаружили, что preload укоротил время, требуемое на появление рабочего стола, на секунду. Звучит не очень внушительно, но в связке с вашей новой быстрой загрузкой системы стоит затраченных усилий.
Автоматический вход
Ну да, мы постоянно напоминаем вам о важности безопасности. Однако если вы живете один в замке, не имеющем выхода в Интернет, отчего бы не включить автоматический вход – сэкономится время на ввод пароля! Проще всего сделать это через GUI. Просто зайдите в System > Administration > Login Window [Система > Администрирование > Вход в систему]. Представьтесь системе, перейдите на вкладку Security [Безопасность] и поставьте галочку рядом с Automatic Login [Автовход]. Затем в выпадающем списке отметьте пользователей, для которых автоматический вход будет работать.
К сожалению, пользователям Fedora такая возможность недоступна, и необходимые изменения нужно проделывать вручную. Чтобы включить автоматический вход, откройте в текстовом редакторе, работающем от имени root, файл /etc/gdm/custom.conf и затем припишите в конце такие строки:
[daemon] TimedLoginEnable=True TimedLogin=UserName TimedLoginDelay=0
заменив UserName на имя пользователя, для которого вы хотите разрешить автоматический вход.
Проволочные рамки
Экономия в терминале Обычная проблема медленных систем – запаздывание, возникающее при перетаскивании окна. Gnome отображает содержимое окна при его перемещении, и это может понизить производительность. Однако существует встроенный метод уменьшить сопутствующие требования к системным ресурсам. Введите в терминале
gconftool-2 -- type bool -- set /apps/metacity/general/reduced_resources true
Теперь при перетаскивании окна вы увидите вместо его содержимого проволочную рамку, что решительно повысит производительность маломощных систем (а в других случаях улучшения почти не будет). Только учтите, что этот трюк не заработает, если у вас Compiz или какой-нибудь другой хитрый оконный менеджер.
Ускорение меню
Если ваши меню слишком лениво стартуют, наиболее вероятная причина – это иконки. При первом после включения машины открытии меню Gnome пиктограммы подгружаются из своих файлов. На медленных системах это выглядит довольно неопрятно, и чтобы подгрузка иконок завершилась к моменту, когда вы все их увидите, намеренно вводится задержка.
Однако на современном оборудовании это не всегда необходимо, и данную опцию можно спокойно поменять. Создайте в вашем домашнем каталоге новый файл под названием .gtkrc-2.0 и откройте его в вашем любимом текстовом редакторе, где наберите
gtk-menu-popup-delay=0
Сохранив файл, нажмите Ctrl+Alt+Backspace для перезапуска xserver, и ваши меню будут открываться заметно быстрее.
Советы читателей: Экономия в терминале
Сочетание клавиш | Действие |
---|---|
Ctrl+L | Очистка терминала (работает в Konsole и Bash) |
Вверх, затем Ctrl+T | Берет последнюю введенную команду и меняет местами последние две буквы |
Ctrl+R | Поиск в истории введенных команд (только в Bash) |
Ctrl+Alt+(F1-7) | Переход в виртуальный терминал (F7 возвращает в GUI, если только у вас не Fedora) |
Alt+Лево/Право | Циклическое перемещение по терминалам (если вы не в GUI) |
Эти советы нам дали: mugstar, TomMan, tad, indie, patsychomper и Anonymous Penguin на TuxRadar.com.
Оптимизация KDE
- Скрытые функции KDE резко повышают производительность.
В последнее время о KDE пишут всякое. Однако при том, что у KDE 4 несомненно прекрасный внешний вид, и новые плазмоиды ставят его вне конкуренции, он все еще не может тягаться с KDE 3 (или даже Gnome) в плане скорости и производительности. Хотя эти проблемы усиленно решаются, несколько настроек могут сэкономить пару секунд драгоценного времени загрузки и сделать весь рабочий стол гораздо более отзывчивым.
Ускорение ext3
Можно приобрести значительное преимущество в производительности, задействовав в ext3 режим обратной записи [writeback]. Это свойство не ограничивается системами с 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 вам надо держать открытыми одновременно.
Глас Гуру № 2 – Гаэль Дюваль
Gaёl Duval Основатель Mandriva и Ulteo «Очень сложно думать про малоизвестные хаки и подсказки, ведь на свете столько умников – многие из них знают куда больше меня!»
Лучший совет: «Я всегда пользуюсь ‘!кусок_команды’ в качестве повторителя команды оболочки, которую хочу вызвать снова. Например, если я недавно вводил ‘ps auxww’ и хочу выполнить это еще раз, я просто ввожу ‘!ps’. Конечно, здорово использовать это совместно с номером команды, возвращаемом из списка прошлых команд с помощью ‘history’. Просто введите ‘!номер_команды’, и повторится команда из списка истории команд.»
Тюнинг для вашей сети
- Если закачки стали тормозить, следуйте нашим советам.