Linux mint ускорение работы. Пингвин с реактивным ранцем: Ускоряем запуск приложений в Linux

Сегодня я обнаружил что Linux mint 18 стал грузиться медленнее чем Linux mint 17. Что не очень хорошо для моего ноутбука. Я выяснил что это связано с ненужными службами, приложениями, визуальными эффектами. Существует множество оптимизаций, позволяющих повысить скорость работы дистрибутива Linux Mint.

В этой статье мы рассмотрим как выполняется оптимизация Linux Mint. Я покажу только максимально безопасные. Проверял их сам на Toshiba Satelite l20 - 101 с Linux Mint 18.1 xfce и на компьютере HP Elite 7200 c linux mint 18.1 MATE. Перед дальнейшими инструкциями установите все обновления, чтобы не возникло ненужных ошибок.

1. Оперативная память

При работе с Linux Mint выполнение различных операций со временем осуществляется медленнее. К счастью, это можно минимизировать. На жестком диске существует отдельный раздел для хранения данных, помещенных в оперативную память, который называется разделом подкачки. Интенсивность использования ядром дистрибутива Linux Mint раздела подкачки может быть изменена с помощью специального параметра конфигурации системы.

Вначале надо проверить величину этого параметра. Откройте терминал - ctrl + alt + t и выполните команду:

$ cat /proc/sys/vm/swappiness

sudo apt install gksu leafpad

Установим новое значение параметра. Перейдите по пути /etc/ и откройте файл sysctl.conf текстовым редактором, либо командой:

В конце надо будет добавить vm.swappiness=10 . Сохраните файл и перезагрузите ваш Компьютер / Ноутбук.

2. Настройка кэша inode

Только для ПК с 1 гб и больше так как это оптимизация приведет к долгому хранению системных файлов в оперативной памяти. Откройте файл /etc/sysctl.conf:

gksudo leafpad /etc/sysctl.conf

Опуститесь вниз файла и добавьте эту строчку в конце:

vm.vfs_cache_pressure=50

3. Настройка zram

Только ПК с оперативной памятью 768 Мб или больше. Внимание это может привести к нестабильной работе всей системы! Сделайте бэкап данных.

Работа данной оптимизации:

  • Центральный процессор вашего компьютера (CPU) будет использоваться более интенсивно, так как будут осуществляться постоянные сжатие и распаковка данных;
  • Если система полностью заполнит файл подкачки в оперативной памяти, она начнет дополнительно использовать классический раздел подкачки на жестком диске. При этом она также может переместить в этот раздел часть файла подкачки из оперативной памяти, что еще более замедлит ее работу;
  • На данный момент рассматриваемый модуль все еще является экспериментальным, поэтому реализованный в рамках него дополнительный уровень хранения данных может снизить стабильность работы системы.

Нужен пакет zram-config . Можете через synaptic, но я больше люблю использовать терминал.

sudo apt install zram-config

Перезагрузите ПК после установки. Можно командой:

Надо проверить работу данного модуля:

Должен появится отчёт о разделах на /dev/zram. Если система стала работать неправильно или zram вам уже не нужен, то делаем следующее:

sudo apt purge zram-config

Если у вас мало оперативной памяти, то вы точно заметите ускорение Linux Mint 18. Подробнее про написано в другой статье.

4. Отключение индексации

Как и в Windows, в Linux есть приложение для ускорения поиска, которое также тормозит работу системы. Данное приложение удалить полностью через synaptic нельзя. Он удалит лишь его часть. Следовательно надо использовать терминал.

sudo apt purge apt-xapian-index

Перезагрузите ПК для окончания применения изменений.

5. Оптимизация LibreOffice

Как всем известно, java имеет очень медленный компилятор. Скорость запуска LibreOffice повысилась раза в 3 после отключения java. Но она стоит там не просто так. Некоторые функции требуют java. Так что если вам они нужны то не отключайте. Откройте приложение Writer.

Зайдите в меню Сервис - Параметры LibreOffice - Расширенные возможности» и убрать флажок «Использовать виртуальную машину Java». Включить поддержку можно в любой момент просто вернув галочку в том поле:

6. Настройка автозагрузки

В Wndows это msconfig, а в Linux есть несколько способов решения этой задачи. Автозапуск сильно замедляет как и запуск системы, так и работу в целом. Часть программ настраивается через графический интерфейс - Меню - Параметры - Автозапуск . В XFCE это Сеансы и запуск . Но там не все службы. Далее, я буду писать зачем нужна каждая из служб, которые я буду отключать и как их отключить через терминал. Сначала смотрим скорость загрузки системы:

Выключить:

$ sudo systemctl disable служба

Включить:

$ sudo systemctl enable служба

avahi-daemon.service - это процесс для обнаружения ПК в домене .local . Если у вас один пк в домашней сети или у вас нет домена .local. То можно смело отключать:

sudo systemctl disable avahi-daemon.service

cgmanager.service - предназначен для управления cgroup. Служба нужна только людям использующих контейнер LXC. Этот контейнер позволяет создавать виртуальные машины почти без потерь производительности. Но я не использую виртуализацию. Отключаю:

cups-browsed.service – это служба для принтеров. Сейчас у меня нет принтера, но если появится я просто включу эту службу.

sudo systemctl disable cgmanager.service

geoclue.service – это служба, которая отправляет вашу геолокацию приложениям. Без каких-либо вопросов отключаем:

sudo systemctl disable geoclue.service

Службы vm2-lvmetad и lvm2-monitor относятся к службам управления логическими томами (LVM – Logical Volume Management). Если вы не используете логические тома то можно отключать. Если при установке вы выбрали автоматическую, то у вас все первичные.

sudo systemctl disable vm2-lvmetad.service

sudo systemctl disable lvm2-monitor.service

Результаты выполнения может быть таким:

Failed to execute operation: No such file or directory и

Removed symlink /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service

ModemManager.service – это интерфейс, позволяющий реализовать подключение к сети интернет, используя мoдемы, каналы связи (2G/3G/4G/CDMA). У меня вообще шнур так что отключаю.

sudo systemctl disable ModemManager.service

speech-dispatcher.service - это унифицированный API, который имеет предназначение для изменения порядка вызова синтезатора, так же позволяет предотвратить наложения звука при нескольких приложениях, использующих звук. Я не планирую включать сразу штук 8 песен. Так что отключаю:

sudo systemctl disable speech-dispatcher.service

ssh.service - это сервис удаленного управления системой через терминал. Я таким не пользуюсь => отключаем.

sudo systemctl disable ssh.service

ufw.service – служба межсетевого экрана. Это брандмауэр. Мне он нужен, но многим нет. Будем не отключать а удалять. Через Synaptic или терминал.

sudo apt purge ufw

Я перечислил все службы, которые можно отключить безболезненно для системы. Теперь перезагрузка и тест скорости. После отключения служб вы точно заметите ускорение работы linux mint.

Читайте подробнее про в отдельной статье.

7. Настройка окружения

Визуальные эффекты делают систему красивой. Если вы любите MacOS вам не пережить их отключение. Те, кто пользовался Windows 7 aero знают как это всё тормозит.

Linux Mint Cinnamon: для начала необходимо открыть: «Меню - Параметры системы - Эффекты» и отключить все эффекты в открывшемся окне. Далее, необходимо открыть: «Меню - Параметры системы - Общие» и активировать переключатель в пункте списка «Отключить композитинг для полноэкранных окон» .

Linux Mint Mate: откройте «Меню - Настройки - Окна» , перейдите на вкладку «Общие» открывшегося окна и уберите флажок «Включить композитный менеджер» .

Linux Mint Xfce: необходимо «Меню - Параметры рабочего стола» и изменить оконный менеджер с «Xfwm4 + Compositing» на «Xfwm4» .

Не забудьте поставить фоном один сплошной цвет.

8. Браузеры

Каждое дополнительное расширение для firefox и chromium замедляют его запуск и работу. удалите ненужные вам. Например, вместо онлайн читалки поставить локальную программу.

Теперь конкретно про firefox. В первую очередь следует ввести в адресную строку веб-браузера about:config и нажать клавишу Enter . Далее, нужно нажать на кнопку Я принимаю на себя риск! .

Вам следует ввести в поле поиска на открывшейся странице запрос sessionstore и использовать двойной клик для редактирования значения параметра browser.sessionstore.interval . По умолчанию он имеет значение 15000 , соответствующее 15 секундам. Вы можете добавить к значению несколько нулей таким образом, чтобы оно превратилось в значение 15000000 и нажать на кнопку OK для сохранения изменений.

  • browser.sessionstore.restore_on_demand
  • browser.sessionstore.resume_from_crash
  • services.sync.prefs.sync.browser.sessionstore.restore_on_demand

Осталось закрыть все окна веб-браузера Firefox и перезапустить его.

9. Очистка Linux Mint

В Linux, как и в Windows скапливается мусор. Но в отличие от Windows у него нет реестра, что даёт возможность удалить весь мусор.

sudo apt autoclean

sudo apt autoremove

Не забудьте удалить ненужные программы. Например, мне не нужен VLC когда стоит dragon player.

sudo apt purge vlc

10. Установка драйверов

Многие забывают поставить нужные драйвера и устройства используются не на максимум своих возможностей. Например, у меня не было драйвера процессора. Откройте меню и впишите драйвера . Я заменил свободный драйвер nvidia на проприетарный. Все стало гораздо быстрее.

11. Оптимизация tmp

Если у вас много оперативной памяти можно ещё больше ускорить систему с помощью перемещения файлов с жесткого диска на виртуальный раздел в оперативной памяти. Откройте терминал .

sudo cp -v /usr/share/systemd/tmp.mount /etc/systemd/system/

sudo systemctl enable tmp.mount

Проверка работы:

systemctl status tmp.mount

Если вам он больше не нужен просто удалите его:

sudo rm -v /etc/systemd/system/tmp.mount

12. Оптимизация wifi

Оптимизация Linux Mint также может включать ускорение wifi. Узнаем как названа ваша сетевая карта в системе:

Затем вы сможете узнать название. Например, wlp2s0. Отключим энергосбережение.

gksudo xed /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

wifi.powersave = 3

меняем на:

wifi.powersave = 0

Теперь сохраняем документ и перезагружаем ПК. Выполните команду для проверки:

Если появилась надпись Power management:off то вы все настроили. Для сетевых карт intel есть особый способ ускорения, поскольку система для неё использует драйвер iwlwifi . Нужно активировать функцию Tx AMPDU .

Функция AMPDU предназначена для ускорения передачи данных путем объединения нескольких наборов данных друг с другом. До версии 18.1 включалась автоматически, но была убрана из-за проблемных чипсетов.

В первую очередь следует убедиться в том, что для взаимодействия с чипсетом вашей беспроводной сетевой карты используется именно драйвер iwlwifi .

lsmod | grep iwlwifi

Если появилась строка «iwlwifi» то можно продолжать.

echo "options iwlwifi 11n_disable=8" | sudo tee /etc/modprobe.d/iwlwifi11n.conf

Теперь нужно перезагрузить ПК. Перед перезагрузкой запишите себе эту команду:

sudo rm -v /etc/modprobe.d/iwlwifi11n.conf

Она нужна для отката изменений если сеть не будет работать.

Выводы

Теперь вы знаете как выполняется ускорение Linux Mint 18. Я очень надеюсь что помог другим пользователям. Пишите в комментариях вашу скорость запуска и скорость работы после проделанных изменений. Насколько вам помогла оптимизация Linux Mint 18 по сравнению с тем, как было раньше?

Похожие записи:


22 оценок, среднее: 4,77 из 5)

Де́мон (англ. daemon) - в системах класса UNIX - служба, работающая в фоновом режиме без прямого общения с пользователем. Демоны обычно запускаются во время загрузки системы. Типичные задачи демонов: серверы сетевых протоколов (HTTP , FTP , электронная почта и др.), управление оборудованием, поддержка очередей печати, управление выполнением заданий по расписанию и т. д. В зависимости от задач, выполняемых компьютером, некоторые из этих демонов можно отключить и, таким образом, сэкономить на времени запуска системы и уменьшить нагрузку на систему во время работы. Для этого воспользуемся утилитой sysv-rc-conf . Утилита эта консольная, но очень проста и интуитивно понятна, поэтому использовать ее могут даже люди с паническим страхом терминала. Установка:

sudo apt-get install sysv-rc-conf

Запускаем:

sudo sysv-rc-conf

В терминале получаем следующее: Управление осуществляется несколькими клавишами: Пробел - ставим/убираем крестик, + - - остановка/запуск процесса, Q - выход.

Цифры в верхей строчке - это уровни выполнения. Для отключения сервиса, надо просто убрать крестик со всех уровней.

    Acpi-support - Лучше оставить уровень по умолчанию. То есть: 2,3,4,5.

    Acpid - Демон acpi. Этот и предыдущий процессы отвечают за управление питанием и очень важны и для ноутбуков, и для рабочих станций, так что лучше оставить их включенными. По умолчанию: 2,3,4,5.

    Adjtimex - Инструмент для тонкой подстройки часов в ядре. Обычно в списке загрузки его нет. В исключительных случаях, если он всё же находится в этом списке, значит тому были веские причины и лучше оставить его включенным.

    Alsa - Если используется звуковая подсистема alsa, то да, запуск надо оставить. Но если у вас есть служба alsa-utils, то эту можно отключить. По умолчанию: выключена, если включена alsa-utils.

    Alsa-utils - В моей системе эта служба заменяет alsa, так что я выключил alsa и включил эту на уровне S. -Примечание- Говоря «Выключил» я подразумеваю - снял все «X» со всех уровней выполнения. Если у вас их и не было - замечательно. Продолжаем настройку. По умолчанию: уровень выполнения S.

    Anacron - Подсистема cron, которая выполняет любую его задачу, которая не была выполнена вовремя. Чаще всего такое случается, если в момент наступления задачи по cron ваш компьютер был выключен. Например, updatedb запланирован каждый день на 2 часа ночи, но в это время компьютер не работал. При запуске компьютера anacron попытается определить пропущенные задачи и выполнит их. Я убрал эту службу, поскольку не так часто выключаю свой ноутбук, но в большинстве случаев она должна быть включена. По умолчанию: 2,3,4,5.

    Apmd - Эта служба меня немного смутила. У меня уже включен acpid, так зачем мне включать ещё и apmd? Если ваш компьютер не настолько старый, чтоб даже не поддерживать acpi, попробуйте отключить эту службу. Я отключил. По умолчанию: 2,3,4,5.

    Atd - Планировщик, наподобие cron. Я отключил. По умолчанию: 2,3,4,5.

    Binfmt-support - Поддержка ядром других форматов бинарников. Я оставил. По умолчанию: 2,3,4,5.

    Bluez-utiles - Я выключил. У меня нет устройств bluetooth. По умолчанию: 2,3,4,5.

    Bootlogd - Оставьте запускаться. По умолчанию: S.

    Cron - Тоже надо оставить. По умолчанию: 2,3,4,5.

    Cupsys - Подсистема для управления принтером. У меня принтера нет, так что я смело отключил, но вы смотрите по обстоятельствам. По умолчанию: 2,3,4,5.

    Dbus - Система сообщений (Message bus system). Очень важна, оставьте включённой. По умолчанию: 2,3,4,5.

    Dirmngr - Утилита управления списками сертификатов. Работает заодно с gnupg. По умолчанию: 2,3,4,5.

    Dns-clean - В основном служит для очистки DNS при использовании соединений dial-up. У меня нет dial-up, так что я выключил. По умолчанию: S.

    Evms - (Enterprise Volume Management System) - система управления томами для ОС Linux. EVMS предлагает единые унифицированные механизмы для управления дисками, дисковыми разделами, файловыми системами, физическими томами LVM ит.д. Я выключил. По умолчанию: S.

    Fetchmail - Демон доставки электронной почты. Я выключил. По умолчанию: 2,3,4,5.

    Gdm - Менеджер рабочего стола (Gnome Desktop Manager). Я его в любом случае уже выключил, когда решил загружаться в консоль. В данном случае - дело предпочтений, так что решать вам, хотите ли вы загружаться напрямую в GUI . По умолчанию: 2,3,4,5.

    Gdomap - Я понятия не имею, зачем этот процесс должен запускаться. Я не видел этого демона больше ни в одной системе, так что я его выключил и не чувствую какой-либо утраты. Есть какие-нибудь причины для его использования на ноутбуках или рабочих станциях? По умолчанию: 2,3,4,5.

    Gpm - Поддержка мыши для консоли. Если вы чувствуете, что не можете обойтись без мыши в консоли - поставьте уровень выполнения 1 и 2. Это всё, что нужно. По умолчанию: 2,3,4,5.

    Halt - Не менять. По умолчанию: 0.

    Hdparm - Скрипт для подстройки жёсткого диска. Я отключил уровни 2,3,4,5, но установил уровень S. Я полагаю, что открытие DMA, 32-битного ввода-вывода и т.д. принесёт пользу остальным процессам. Также я сменил родной скрипт на очень простой, который сделал самостоятельно. Я думаю, не стоит производить все эти избыточные проверки, если я сам знаю, что делаю. Файл конфигурации - /etc/hdparm.conf. По умолчанию: 2,3,4,5.

    Hibernate - Если ваша система поддерживает спящий режим - оставьте службу работать. В противном случае она бесполезна. По умолчанию: S.

    Hotkey-setup - Этот демон включает некоторые специфические горячие клавиши в ноутбуках. Есть заводская поддержка: HP, Acer, ASUS, Sony, Dell, и IBM. Если у вас ноутбук этих производителей, можно оставить службу запускаться, в противном случае её запуск будет бесполезен. По умолчанию: 2,3,4,5.

    Hotplug и hotplug-net - Включение подсистем hotplug занимает время. Я бы задумался, включать ли их вообще. Я сделал несколько изменений в своём файле /etc/network/interfaces. Вместо того, чтобы адресовать свою беспроводную карту в процессе hotplug, я включил её в автоматический режим. Таким образом, я могу отключить эти процессы. Я удостоверился, что даже при их отключении, ubuntu находит драйверы usb, цифровой камеры и так далее. Так что, думаю, отключение этих процессов достаточно безопасно. -Примечание- Если после отключения hotplug ваша звуковая карта перестала работать, можно включить его обратно. Или можно отредактировать файл /etc/modules, чтобы добавить модуль драйвера звуковой карты. Более поздние работают быстрее, проверено. По умолчанию: S.

    Hplip - Подсистема печати и обработки изображений HP. Я отключил. По умолчанию: S.

    Hwtools - Утилита для оптимизации irq.

    Ifrename - Скрипт по именованию сетевых интерфейсов. Звучит красиво, но я отключил. Нужен, в основном, для управления именами нескольких сетевых интерфейсов. С тех пор, как у меня две сетевые карты - беспроводная и проводная - они обозначены ядром как eth0 и ath0, так что процесс для меня бесполезен. По умолчанию: S.

    Ifupdown и ifupdown-clean - Не отключайте. Это скрипты для включения сетевых интерфейсов при загрузке. По умолчанию: ifupdown - 0,6,S и ifupdown-clean - S.

    Inetd или inetd.real - Посмотрите в файл /etc/inetd.conf и закомментируйте все службы, которые вам не нужны. Если активных служб после этого не осталось - демон можно смело убирать из запуска. По умолчанию: 2,3,4,5.

    Klogd - Не выключать. По умолчанию: 2,3,4,5.

    Laptop-mode - Служба для проверки в ноутбуке: не пора ли выкинуть батарею. Бесполезна для стационарного компьютера. По умолчанию: 2,3,4,5.

    Libpam-devperm - Демон для восстановления прав доступа к файлам-устройствам после сбоя системы.

    Linux-restricted-modules-common - Нужно посмотреть, не загружены ли несвободные модули в систему. Эти модули можно найти в /lib/linux-restricted-modules. Если такие модули не используются - можно смело отключать демона. По умолчанию: 0,6,S.

    Lm-sensors - Если материнская плата поддерживает сенсорные чипы, можно посмотреть их состояние.

    Lvm - Я не использую, потому отключил. Оставьте, если у вас есть lvm. По умолчанию: S.

    Makedev - Не отключать. По умолчанию: 2,3,4,5.

    Mdamd - Инструмент для управления устройствами RAID . В большинстве случаев можно отключить. По умолчанию: 2,3,4,5.

    Mdamd-raid - Инструмент RAID . По умолчанию: S.

    Module-init-tools - Загружает дополнительные модули из файла /etc/modules. Можно посмотреть его содержимое на наличие ненужных модулей. Обычно включен. По умолчанию: S.

    Mountvirtfs - Монтирование виртуальных файловых систем. Не отключать. По умолчанию: S.

    Networking - Поднимает сетевые интерфейсы и конфигурирует DNS при загрузке, путём сканирования файла /etc/network/interfaces. Отключать не стоит. По умолчанию: 0,6,S.

    Ntpdate - Синхронизирует время с сервером времени ubuntu (или заданным другим). По умолчанию: S. -Примечание- Если второй системой стоит Windows, лучше оставить процесс включённым. Windows хранит в BIOS не универсальное (по Гринвичу), а локальное время и при перезагрузке из одной системы в другую они будут пытаться корректировать друг друга. В последних версиях эта проблема вроде бы исправлена.

    Nvidia-kernel - Я собирал драйвер nvidia самостоятельно, поэтому мне служба не нужна. Если используете несвободный драйвер nvidia - оставьте службу включённой. По умолчанию: 1,2,3,4,5.

    Pcmcia - Активирует устройство PCMCIA. Я поставил уровень выполнения в 0,6,S вместо умолчательных 2,3,4,5, поскольку, по моему мнению, оборудование надо подключать в первую очередь. С другой стороны, если устройства PCMCIA не используются, то и службу можно отключать.

    Portmap - Демон для управления такими службами, как nis, nfs, и т.д. По умолчанию: 2,3,4,5,0,6,S.

    Powernowd - Клиент для управления cpufreq. Нужен в основном для ноутбуков с поддержкой технологии изменения частоты процессора. Полезен для ноутбуков и наоборот для стационарных компьютеров. По умолчанию: 2,3,4,5.

    Ppp и ppp-dns - Мне не нужно. У меня нет dial-up. По умолчанию: ppp - 2,3,4,5 и pppd-dns - S.

    Readahead - Похоже, readahead это разновидность «предзагрузчика». Загружает при старте несколько библиотек в оперативную память, что позволяет некоторым программам быстрее стартовать. Но увеличивает время загрузки системы на 3-4 секунды. По умолчанию: S.

    Reboot - Не менять. По умолчанию: 6.

    Resolvconf - Автоматически настраивает DNS в соответствии со статусом сети. По умолчанию: S.

    Rmnologin - Убирает nologin, если находит. У меня такого не будет, я убрал. По умолчанию: 2,3,4,5.

    Rsync - Демон rsync. Можно убрать, если не уверены, что он вам нужен. По умолчанию: 2,3,4,5.

    Urandom - Генератор случайных чисел. Нельзя угадать какому приложению, особенно в графике, может понадобиться. По умолчанию: 0,6,S.

    Usplash - Картинка при загрузке системы, с индикатором загрузки. Для полного отключения надо редактировать файл /boot/grub/menu.lst: закомментировать строку splashimage и убрать опцию splash из строки загрузки ядра. По умолчанию: 2,3,4,5.

    Vbesave - Утилита для настройки BIOS видеокарты. По умолчанию: 2,3,4,5.

    Xinetd - Сверхдемон inetd для управления другими демонами. Включать имеет смысл только в том случае, если есть демоны под его управлением.

Если Вы не уверены, за что отвечает служба, не отключайте ее. Отключение нужных служб может привести к полной или частичной неработоспособности как некоторых программ, так и системы в целом.

Linux становится все тяжелее и тяжелее. Сегодня уже никого не удивишь приложениями, время запуска которых составляет несколько минут, окружениями рабочего стола, занимающими 500 Мб оперативки, и нерасторопной загрузкой ОС, напоминающей поход женщины по магазинам. Есть ли способы все это оптимизировать, существует ли лекарство от ожирения пингвинов, где взять ножик, чтобы отрезать все лишнее? Попробуем разобраться.

За все время существования толстых пингвинов (период, отсчитываемый примерно с момента появления GTK+ 2.X, X Free 4.X и Linux 2.6) было придумано немало способов ускорения запуска приложений и всей ОС.

Некоторые из них уже давно успешно применяются в популярных дистрибутивах, другие до сих пор значатся экспериментальными. В этой статье мы посмотрим на них повнимательнее и определим, насколько оправданным может быть их применение.

Предварительное связывание или PRELINK

Пре-связывание есть ни что иное, как модификация запускаемого файла с целью включить в него результаты динамического связывания библиотек. Что это значит?

В стародавние времена приложения были просты и использовали в своей работе всего несколько динамически загружаемых системных библиотек. То было время господства формата исполняемых файлов a.out, особенность которых заключалась в предельной простоте.

Файлы a.out всегда точно знали, по какому адресу они будут загружены в память процесса, и по каким адресам будут располагаться их внутренние функции, константы и т.д. Эта особенность, с одной стороны, давала им преимущество в скорости загрузки, а с другой - создавала проблемы сосуществования библиотек в памяти (что, если две библиотеки будут загружены в память по одному адресу?). Проблемы надо было решать, поэтому появился формат ELF (его создатели на самом деле были поклонниками книг Толкиена:)), который снимал с исполняемых файлов ответственность за выбор адреса своего размещения в виртуальной памяти и перекладывал ее на динамический линковщик. Отныне адреса загрузки приложений, библиотек и всех их символов (переменных, констант, функций т.д.) вычислялись динамически на этапе загрузки.

ELF позволил UNIX/Linux сделать огромный шаг вперед и стать системой, способной загружать и исполнять огромное количество приложений, слинкованных с таким же количеством библиотек, без всяких проблем. Однако с точки зрения производительности это был провал. Процедура динамического связывания очень быстра, и при запуске приложений, зависящих всего от нескольких библиотек, она не вносит в процесс заметных задержек, но если это запуск громоздкого приложения с зависимостями порядка 50 библиотек, то задержка может быть весьма существенной (вплоть до нескольких десятков секунд).

Так называемое пре-связывание наделяет ELF-файлы наиболее выгодной чертой формата a.out. Запускаемые файлы модифицируются таким образом, чтобы уже включать в себя результат динамического связывания и, соответственно, заранее знать собственные адреса в памяти процесса и не тратить на их вычисление время в течение запуска. Процедура пре-связывания была предложена сотрудником Red Hat Jakub Jelinek еще в 2004 году и оказалась очень удачным методом повышения скорости запуска приложений. Согласно тестам, она может дать прирост, равный 50% от первоначальной скорости запуска, а в особо тяжелых случаях (OpenOffice, KDE, Gnome) - и того больше. При этом для ускорения системы достаточно запустить всего одну команду и немного подождать.

Да, задействовать механизм пре-связывания действительно просто. Для этого уже упомянутый выше Jakub Jelinek написал программу под названием prelink. Она доступна практически в любом Linux-дистрибутиве, поэтому собирать из исходников ничего не придется. Просто установи пакеты prelink, используя пакетный менеджер дистрибутива, и выполни следующую команду:

Аргументы командной строки в этом случае значат следующее:

  • v - выводить больше информации на экран;
  • a - подвергнуть пре-связыванию все бинарные файлы;
  • m - сохранить виртуальную память (нужно, если библиотек очень много);
  • R - рандомизировать порядок следования участков памяти (повышает уровень защиты от атак на срыв стека).

После окончания выполнения приложения можно начинать радоваться ускорению. Однако стоит помнить о нескольких ограничениях:

  1. Prelink не способен увеличить скорость загрузки бинарников, скомпилированных без опции "-fPIC". К сожалению, таких библиотек достаточно много, обычно сборщики пакетов нарочно отключают этот флаг для увеличения производительности приложения;
  2. Prelink не умеет обрабатывать библиотеки проекта wine, поэтому об ускорении Windows-софта придется забыть;
  3. Некоторые статические библиотеки могут перестать запускаться после обработки prelink;
  4. После установки новых приложений или библиотек операцию прелинкинга рекомендуется повторить. Для удаления prelink делаем так:

Предварительная загрузка или PRELOAD

Хорошим дополнением к prelink станет демон preload, реализующий механизм предварительной загрузки библиотек для часто используемых приложений. Работая в фоне, preload анализирует действия пользователя и составляет список наиболее часто используемых приложений. В дальнейшем эта информация применяется для заблаговременной загрузки приложений и необходимых им библиотек в память, благодаря чему холодный запуск программы занимает намного меньше времени.

Демон preload может существенно повысить скорость загрузки приложений, но произойдет это только в том случае, если система оснащена достаточно большим объемом памяти. Два гигабайта - это минимум, при котором preload даст выигрыш, при меньших объемах он только помешает. Пакет preload можно найти в составе любого современного дистрибутива, поэтому для его установки достаточно использовать стандартный менеджер пакетов:

$ sudo apt-get install preload

Далее следует отредактировать конфигурационный файл /etc/preload.conf. Демон вполне сносно работает и при стандартных настройках, однако каждый из нас индивидуален и использует систему по-своему, поэтому, вероятно, ты захочешь подогнать preload под себя. Перечислю основные опции в секции model:

  • cycle - частота обращений к системе для сбора статистики. Значение по умолчанию - 20 секунд. В большинстве случаев изменять его не имеет смысла, однако если ты чувствуешь, что preload вредит производительности системы, увеличь значение.
  • halflife - задает интервал, по истечению которого preload будет забывать накопленную статистику на 50%. Значение по умолчанию - 168 часов (неделя). Рекомендуется уменьшить значение тем, кто часто меняет софт, и увеличить тем, кто может месяцами/годами пользоваться одним и тем же набором приложений.
  • minsize - минимальный размер объекта (программы, библиотеки), обрабатываемого preload. Значение по умолчанию - 2 000 000 байт (около 2 Мб), поэтому preload не будет выполнять предварительную загрузку файлов меньшего размера. Нет особой нужды менять это значение, однако если тебе кажется, что памяти будет достаточно и для кэширования более мелких приложений - уменьши значение.
  • memtotal, memfree, memcached - эти три опции взаимосвязаны и указывают на потребляемый preload объем памяти. Для расчетов используется следующая формула: (общее количество памяти х memtotal) + (память, доступная при старте х memfree) + (кэш х memcached).

Секция system также содержит три интересных для нас опции:

  • mapprefix - список каталогов, файлы которых должны быть предварительно загружены (имей в виду, что это не только бинарники и библиотеки, но и другие типы файлов).
  • exeprefix - список каталогов с бинарными файлами.
  • sortstrategy - способ оптимизации операций ввода-вывода. Значение по умолчанию - 3 (оптимизация для жестких дисков). Для твердотельных дисков лучше всего подойдет значение 1, для сетевых файловых систем - 2.

На этом все, можешь перезагрузить preload:

$ sudo /etc/init.d/preload reload

Как и любой другой демон, preload ведет логи, которые ты сможешь найти в файле /val/log/preload.log. Информация о текущем состоянии preload и его кэше доступна в файле /var/lib/preload/preload.state.

Предварительное чтение или READAHEAD

Ubuntu, а также некоторые другие современные дистрибутивы Linux, используют систему readahead во время инициализации системы. Как и демон preload, readahead заранее загружает необходимые компоненты приложений в оперативную память с целью ускорить их запуск. Разница заключается лишь в том, что readahead частично работает внутри ядра Linux и оптимизирован специально для ускорения процесса инициализации системы.

Система использует утилиту /sbin/readahead-list, которая читает файлы /etc/readahead/boot и /etc/readahead/desktop и загружает перечисленные в них файлы во время инициализации системы. Эта простая и эффективная схема, которая, однако, имеет и очевидные недостатки. Дело в том, что любая стандартная установка Ubuntu со временем претерпевает изменения в количестве установленных и загружаемых во время старта ОС сервисов. Списки файлов в этом случае становятся неактуальными и требуют обновления. Параметр ядра profile позволяет перестроить списки предварительно загружаемых файлов. Для его включения перезагрузи систему, во время загрузки нажми для входа в меню загрузчика, далее нажми и добавь в конец списка параметров ядра слово profile. Нажми для загрузки. Инициализация системы в режиме профилирования займет время, поэтому будь готов потерпеть.

Заморозка процесса или CRYOPID

Иногда лучший способ ускорить запуск приложения - просто не останавливать его. Для многих юниксоидов работающие сутками напролет браузер, почтовый и jabber-клиенты - обычное дело. Такие приложения просто нет смысла завершать, они могут понадобиться в любую минуту.

Так почему бы не развить эту идею дальше и не сделать так, чтобы вместо остановки процессов их состояние можно было бы заморозить, а позже - восстановить, избавив программу от необходимости каждый раз производить сложную и трудоемкую инициализацию внутреннего состояния? Не мы первые, не мы последние. CryoPID - простое приложение для заморозки процессов и последующего их восстановления. Прога не требует прав root или модификации ядра, работает на архитектурах x86 и amd64 и, что самое главное, не привязывает замороженный процесс к конкретной машине. После заморозки процесс превращается во что-то вроде самораспаковывающегося архива, ты легко можешь перенести его на другую машину и просто запустить. Пакет CryoPID есть далеко не в каждом дистрибутиве, поэтому его придется установить самостоятельно:

$ cd /tmp
$ wget http://dagobah.ucc.asn.au/wacky/cryopid-0.5.9.1i386.tar.gz
$ tar -xzf cryopid-0.5.9.1-i386.tar.gz
$ cd cryopid-0.5.9.1/src
$ make
$ mkdir ~/bin
$ cp freeze ~/bin

После этого можно запустить программу следующим образом:

$ ~/bin/freeze имя-файла pid-поцесса

К сожалению, CryoPID имеет несколько проблем, включая неполную поддержку сокетов и X-приложений, а также генерирует мусор в списке процессов вместо имени восстановленной программы.

Шустрая загрузка UBUNTU

Ubuntu быстра, на самом деле быстра. Скорость загрузки этого дистрибутива оставляет далеко позади многие другие линуксы и заставляет завидовать поклонников BSD-систем. Однако нет пределов совершенст ву, и в этом разделе мы попробуем ускорить ускоренное.

1. Отключи таймаут в grub. По умолчанию загрузчик ждет 3 секунды, чтобы пользователь смог изменить параметры загрузки. Открой файл /boot/grub/menu.lst, найди строку «timeout=3» и замени 3 на 0.

2. Отключи splash. Ubuntu splash-screen, показываемый во время загрузки системы, малоинформативен и требует время на свою загрузку. Поэтому открываем все тот же /boot/grub/menu.lst и убираем опции «quiet» и «splash» из параметров загрузки ядра.

3. Отключи IPv6. Раньше поддержка пока ненужного протокола IPv6 в Linux была реализована в виде загружаемого модуля, поэтому для ее отключения требовалось лишь слегка отредактировать файл /etc/ modprobe.d/aliases. Сегодня IPv6 вшит прямо в ядро, поэтому для его отключения ядру должен быть передан параметр «ipv6.disable=1». Сделать это можно, отредактировав файл /boot/grub/menu.lst.

4. Отключи проверку на выход из спящего режима. Во время своей загрузки ядро выполняет проверку, выходит ли комп из спящего режима (suspend) или выполняет обыкновенную загрузку. Занимает эта процедура всего одну секунду, однако ее тоже можно сэкономить, добавив опцию «noresume» к параметрам загрузки ядра. Естественно, владельцам ноутбуков этого делать не стоит.

5. Оптимизируй initramfs. Образ RAM-диска используется для хранения низкоуровневых компонентов ОС, которые должны быть доступны еще до монтирования корневой файловой системы. По умолчанию этот образ содержит всевозможные компоненты, подобранные на все случаи жизни. Без них образ грузится в память быстрее, что способст вует сокращению общего времени загрузки системы. Открываем файл /etc/initramfs-tools/initramfs.conf, находим строку «MODULES=most» и заменяем ее на «MODULES=dep». Далее пересобираем все доступные образы только с необходимыми компонентами:

$ sudo update-initramfs -k all -u

После обновления ядра образы будут сгенерированы автоматически.

6. Отключи ненужные сервисы. По умолчанию в Ubuntu активировано множество фоновых сервисов на все случаи жизни. Вряд ли тебе нужны они все, поэтому идем отключать. Открываем System q„ Administration {„ Services и видим список сервисов. Выбор кандидатов на отключение зависит от конкретной ситуации, но в большинстве случаев безболезненно можно пожертвовать следующим:

  • Bluetooth Manager - менеджер устройств Bluetooth
  • Check for new hardware drivers - проверка новых версий проприетарных драйверов
  • Evolution Alarm Notifier - сигнализатор прихода почты в Evolution
  • Print Queue Applet - апплет очереди печати
  • Tracker - служба поиска и индексирования

7. Отключи автостарт ненужных приложений. Во время входа в систему происходит автозапуск большого количества различных приложений (в основном это апплеты). Не все они нужны, поэтому открой System ra Preferences p„ Applications startup и удали все, что считаешь ненужным (например, апплет bluetooth). Запуск оставшихся приложений можно немного оптимизировать с помощью следующего трюка: отредактируй строку запуска каждого из них так, чтобы она приняла примерно такой вид:

sh -c "sleep 10; exec bluetooth-applet"
sh -c "sleep 20; exec /usr/lib/evolution/2.28/evolution-alarm-notify"

Ускоряем запуск тяжеловесов

Многие тяжеловесные приложения, используемые нами повседневно, слишком медлительны и неповоротливы. Нередко на их запуск уходит больше минуты, что довольно сильно раздражает и мешает сконцентрироваться на работе. Попробуем это исправить.

  • OpenOffice.org. Этот офисный пакет рекордсмен по потреблению ресурсов и неповоротливости, поэтому его оптимизации необходимо уделить особое внимание. Открываем Tools p„ Options, переходим к подразделу «Memory». Устанавливаем значение «Number of steps» равным 20, это уменьшит размер истории отмены. В секции «Graphics cache» устанавливаем значение «Use for OpenOffice. org» в 128, «Memory per object» - в 20. В подсекции «Java» убираем галочку с опции «Use a Java runtime environment». Оптимизация позволяет поднять скорость запуска и время реакции.
  • Firefox. Огнелис - вторая по уровню прожорливости и тормознутости программа. Начиненная достаточно большим количеством плагинов, она превращается из огненной лисы в замороженную черепаху, но есть два пути ускорить ее запуск. Первый - удалить все ненужные и редко используемые плагины. Это поднимет и скорость запуска, и производительность. Второй - оптимизировать базу sqlite, используемую для хранения данных профиля:
  • - распределенная система заморозки процессов.

Linux дает много преимуществ своим пользователям. Например, его можно считать свободным от вирусов, поскольку их существует очень небольшое количество. Для многих очень важно, что никто, кроме вас, не будет контролировать то что вы делаете в системе. Свободное программное обеспечение звучит очень привлекательно, в свете последних событий, когда в прошлом году мы узнали что большие компании вроде Microsoft и Apple следят за своими пользователями.

Свободное программное обеспечение становится очень актуальным если вы не хотите платить за использование самой новой версии операционной системы.

Многие помнят, что кликнув двойным щелчком по ярлыку в Windows нужно достаточно долго подождать, пока запустится программа. Здесь у Linux тоже преимущество - он намного быстрее. И это касается всех, кто использует компьютер с новеньким восьмиядреным процессором, и тех у кого старый ноутбук прошлого века. Если вы хотите еще большое скорости в Linux, следуйте инструкциям из этой статьи. Дальше мы рассмотрим как ускорить Linux. Мы будем ориентироваться в первую очередь на Ubuntu, но все эти советы могут быть применены также к другим дистрибутивам.

Некоторые из приведенных здесь советов включают модификацию системных файлов от имени root пользователя. При таком способе редактирования всегда есть шанс случайно что-нибудь сломать и сделать ваш компьютер неработоспособным. Поэтому лучше сделайте резервную копию всех файлов, с которыми вы будете работать, чтобы потом при необходимости восстановить старые настройки.

Еще лучше поэкспериментировать сначала с виртуальной машиной. Таким образом, вы можете делать все что захотите, а потом просто откатиться к последнему рабочему снимку.

1. Ускорение загрузчика Grub

Если у вас установлено две операционные системы, то вы, наверное, знакомы с этим меню загрузки. Но то что вы, скорее всего, не заметили, это обратный отсчет в самом низу, под областью ввода. Это время, на протяжении которого система будет ждать, перед тем как начать загружать дистрибутив по умолчанию.

Например, в Ubuntu - это 10 секунд. Обычно вы можете нажать Enter, но если вы находитесь далеко от машины, более благоразумным будет поставить интервал покороче, например, 3 секунды. Этого будет вполне достаточно чтобы выбрать ОС.

Чтобы ускорить загрузку linux откройте файл /etc/default/grub от имени root. Измените значение GRUB_TIMEOUT = 10, на 3. А затем обновите конфигурацию Grub. Вот:

sudo vi /etc/default/grub

sudo grub-update

sudo grub2-mkconfig -o /boot/grub/grub.cfg

2. Отключите сервисы

Во время загрузки системы, есть огромная разница между загрузкой ядра и готовностью к работе рабочего стола. Дело в том, что система загружает очень больше количество сервисов, и не все из них вам нужны.

В системе инициализации на основе sysvinit все сервисы находятся в папке /etc/init.d и вы можете остановить те, которые вам не нужны. Посмотреть состояние всех сервисов можно командой:

service --status-all

Отключить сервис можно командой:

update-rc.d -f сервис remove

sudo systemctl disable сервис

Определить какие сервисы, нужны, а какие нет, вы можете просто выполнив поиск в интернете. Во многих дистрибутивах есть графические приложения для управления сервисами, например, в Ubuntu для этого придется воспользоваться консольной утилитой service, это поможет сильно ускорить работу linux. Также отключив лишние сервисы, можно сильно ускорить загрузку Linux.

3. Ускорение файлового менеджера Nautilus

Файловый менеджер Gnome по умолчанию при открытии каждой папки выполняет быстрое сканирование всех файлов, чтобы показать миниатюры и дополнительную информацию. В принципе это быстрое сканирование, но в папке с большим количеством файлов, этот процесс будет совсем небыстрым.

Чтобы перестать тратить процессорное время на эту задачу перейдите в меню Правка , Предварительный просмотр в Nautilus и измените параметр из Всегда или Только локальные файлы на Никогда .

Вы увидите, что теперь Nautilus работает намного быстрее.

4. Уменьшение нагрузки

Для старого оборудования мы, как правило, выбираем специально легковесные дистрибутивы. Причина того, что VectorLinux и другие ему подобные дистрибутивы настолько хороши на слабом оборудовании - то что они не требуют много системных ресурсов.

Конечно, если вы хотите ускорить работу linux на своей машине, вы можете самостоятельно уменьшать ее нагрузку, а можете просто установить уже готовый дистрибутив. Если вы готовы экспериментировать, попробуйте один из легковесных дистрибутивов. Они будут работать намного быстрее.

5. Используйте более быстрый оконный менеджер

Если вы не хотите полностью менять дистрибутив, то все еще можно сделать множество улучшений за счет интеграции некоторых функций таких дистрибутивов. Оконный менеджер одна из них. Если вы используете тяжелые оконные менеджеры вроде KDE или Gnome, попробуйте что-либо более простое. Это даст значительный прирост производительности.

Самая важная задача оконного менеджера - управлять окнами, и давать вам достаточно контроля над ними. Но они могут выполнять намного больше функций чем вам нужно.

Если щелкнуть по верхней панели окна в KDE, и посмотреть какие опции там есть, то вы поймете о чем я говорю. Другой оконный менеджер может быть быстрее и меньше отвлекать.

Пожалуй, самым популярным есть Openbox, и он может быть установлен на большом количестве дистрибутивов.

После установки для запуска оконного менеджера наберите:

openbox --replace

Через несколько секунд вы увидите, что стиль окон изменился. Это и есть Openbox. с помощью контекстного меню вы можете перемещать окна, закреплять или устанавливать поверх других. Но больше ничего другого. Ваши окна теперь двигаются быстрее.

6. Ускоряем KDE

Если вы используете окружение рабочего стола KDE, то у вас есть отличный шанс получить ускорение работы linux. Хотя Plasma работает довольно быстро если у вас современная машина, но это сложный стек программного обеспечения. Каждый компонент KDE может быть настроен для более эффективной его работы. Мы уже рассматривали , читайте об этом подробно в отдельной статье.

7. Заблокируйте рекламу

При просмотре веб-страниц вы заметите что сайт загружается не сразу, он ждет пока будут загружены все компоненты страницы, в том числе и рекламные объявления. Flash анимация очень раздражает при большом количестве блоков на странице, поэтому вы можете ее заблокировать (не нужно этого делать на нашем сайте, мы белые и пушистые).

Для большинства популярных браузеров - Chromium, Firefox, Opera есть расширение Adblock, которое отлично справляется с этой функцией. Программа использует базу данных чтобы заблокировать наиболее популярные источники объявлений.

8. Используйте сочетания клавиш

Кому-то это может показаться очевидным. Работа только с клавиатурой намного быстрее, чем движение от мышки к клавиатуре и обратно. Много функций можно сделать с помощью клавиатуры. Например, стандартные команды копирования и вставки из меню правка.

Стоит создать сочетания клавиш для всех часто используемых действий. Например, переключение между приложениями и рабочими столами. Вы можете пойти еще дальше и использовать в качестве текстовых редакторов vim и emacs.

Интерфейс запуска приложений открываемый по Alt+F2 может сделать намного больше. Например, вы можете набрать выключить для выключения или заблокировать для блокировки экрана. Вы можете выполнять простые расчеты начав выражение со знака =. Там есть еще много подобных функций в зависимости от плагинов. Наберите знак? и нажмите стрелку вправо чтобы узнать подробнее.

9. Пропатчите ядро

Если вам нужна максимальная производительность программного обеспечения, то множество исправлений можно внести в ядро. Оптимизация ядра Linux может дать отличный эффект. Вы можете оптимизировать ядро самостоятельно, но есть и более легкий путь. Вы можете использовать ядро, скомпилированное Con Koliva, оно включает огромное количество патчей производительности. Патчсет ядра называется -ck и он был собран с упором на производительность.

Чтобы его установить, вам нужно скачать исходные тексты ядра, той версии на которую рассчитаны эти патчи. Затем скачайте сам патч и выполните команду в папке с исходниками ядра:

$ patch -p1 < patch-3.*-ck1

Теперь соберите ядро в соответствии с инструкциями из вашего дистрибутива. Это проще сказать чем сделать, но в интернете есть очень много инструкций, в том числе на нашем сайте - .

10. Разгоните видеокарту Nvidia

Этот пункт подходит, только если вы используете более старую видеокарту. Для новых моделей работать не будет. Здесь вы можете увеличить мощность вашего оборудования.

Не нужно использовать BIOS, достаточно панели управления NVIDIA. Прежде чем появятся эти параметры, вам нужно добавить строчку в конфигурационный файл X сервера. Этот файл больше не используется в большинстве дистрибутивов, но утилита настройки NVIDIA может его сгенерировать.

Просто запустите ее, перейдите на вкладку Конфигурация Х сервера и нажмите на кнопку Сохранить в файл конфигурации X.

После того как файл /etc/X11/xorg.conf будет создан откройте его в текстовом редакторе с правами root, найдите секцию Device который описывает вашу графическую карту и добавьте в конец строчку: Option "Coolbits" "5". Перезапустите Х сервер.

Теперь после запуска утилиты настройки NVIDIA вы увидите дополнительную страницу с настройкой тактовых частот. Нажмите кнопку Enable Overclocking и примите заявление об отказе. Теперь вы можете отрегулировать частоту работы для 2D и 3D рендеринга. Лучшие регулировать их одновременно.

Каждый раз когда вы меняете параметры, изменяется тепловыделение. Убедитесь что температура остается в разумных пределах. Кроме того, с той же страницы можно регулировать скорость вращения вентилятора. Как только настроите нужную конфигурацию, сохраните настройки и убедитесь что инструмент NVIDIA загружает эти параметры при следующем старте.

11. Разгон оборудования

Разгон и различные трюки с увеличением параметров выше рекомендуемых скоростей и температур может повредить ваши данные и привести к поломке вашего оборудования и это очень хорошее ускорение linux. Но многие компоненты сейчас разработаны с учетом больших нагрузок, чем их стандартная конфигурация. Этот запас оставляет много места для экспериментов.

Многие материнские платы включают в себя пункты по умолчанию, для повышения скорости системы, без необходимости больших знаний в области компьютера.

Вы можете настроить все это в своем BIOS. Для доступа к нему используйте клавиши F2 или Del. Возможно, вы найдете там опции для ускорения процессора, увеличения частоты оперативной памяти и т д.

12. Повышение производительности сети

Linux уже очень давно поддерживает ipv6, но если вы его не используете, то его отключение может повысить быстродействие сети, таким образом, выполнив ускорение Linux при работе с сетью. Самый простой способ сделать это через NetworkManager.

Если вы используете Gnome, откройте апплет сетевых подключений. и выберите пункт редактировать для соединения которое вы используете. На вкладке ipv6 выберите отключить.

Если у вас KDE без NetworkManager, то можете установить глобальную переменную окружения KDE_NO_IPV6=1:

export KDE_NO_IPV6=1

Для сохранения изменений после перезагрузки можно добавить команду в файл /etc/profile.

Еще можно отключить модуль ядра, отвечающий за ipv6, для этого добавьте его в файл: /etc/modprobe.d/blacklist

Браузер Firefox тоже позволяет отключить ipv6. Просто наберите в адресной строке about:config и активируйте пункт \network.dns.disableIPv6.

Если вы работаете в небольшой сети, вы можете отключить arp в DHCP и настроить статические ip адреса. Добавьте строчку noarp в конфигурационный файл /etc/dhcpd.conf и перезапустите систему. Теперь адреса должны раздаваться быстрее.

13. Статическая линковка

Многие программы подгружают для своей работы библиотеки динамически, во время работы программы. На это уходит не очень много времени, но если приложения большие и подгружают много библиотек, то статическая линковка может дать отличное ускорение Linux. Для этого используются утилиты preload и prelink.

Prelink преобразует исполняемые файлы таким образом, чтобы они загружали как можно больше библиотек. Preload же следит за системой и держит в памяти часто используемые программы. После небольшой калибровки хорошо чувствуется оптимизация Linux.

Сначала установим Prelink:

sudo apt-get install prelink

Затем запустим утилиту для обработки всех исполняемых файлов:

sudo prelink --all

Для периодичного запуска prelink, чтобы выполнялась оптимизация Linux для новых файлов, откройте файл /etc/default/prelink и замените строчку PRELINKING=unknown на yes:

sudo gedit /etc/default/prelink

Установим Preload:

sudo apt-get install preload

Эту программу достаточно только установить, она не требует настройки после установки.

14. Используйте ZRAM

Если у вас недостаточно оперативной памяти, вы можете очень просто увеличить ее количество на 25, а то и 50% с помощью . Это модуль ядра, который позволяет сжимать содержимое оперативной памяти на лету, таким образом вместимость ОЗУ остается увеличивается, а скорость остается прежней. Это даст хорошее ускорение работы Linux для старых компьютеров.

15. Уменьшите активность жесткого диска

Система очень активно пишет и читает файлы из каталога /tmp. Это каталог для временных файлов, и с ним могут одновременно работать большое количество программ. Будет лучше, если содержимое этого каталога будет находиться в оперативной памяти. Чтобы ускорить работу linux, таким образом, добавьте строчку в файл /etc/fstab:

$ sudo vi /etc/fstab

tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

Сначала убедитесь не примонтирована ли уже папка tmp в оперативную память, выполнив команду mount. Во многих дистрибутивах эта оптимизация linux включена по умолчанию.

Но это еще не все. Не все системы рационально используют пространство подкачки на жестком диске. По умолчанию значение vm.swappiness установлено 60, поэтому, если (100-60) 40% оперативной памяти занято, система начнет сбрасывать данные на жесткий диск. Это справедливо для систем с небольшим количеством ОЗУ, 1-2 Гб, но если у вас 10 Гб, то нагружать жесткий диск когда у вас занято только 4 Гб несерьезно. Чтобы это изменить выполните команду.

Пока наши братья-гентушники неделями компилят свою систему, мы применим парочку советов и точно обгоним самого быстрого пингвина на планете. Убунту и так шла практически вровень с Gentoo, но наши изменения позволят вырвать победу из лап Pygoscelis papua. Пристегнись, мы ускоряемся!

Отключение Compiz

Compiz -композитный менеджер окон для X Window System, использующий OpenGL для ускорения 3D-графики. Он предоставляет множество новых графических эффектов, доступных в любых средах рабочего стола, в том числе GNOME и KDE. Если у тебя установлены драйвера для видеокарты, то, скорее всего, менеджер включен. Помни, что видеокарта с Compiz, включенным в режиме «Производительность по запросу», постоянно работает на полную нагрузку и не собирается сбавлять обороты вентилятора. Если хочешь от видеокарты тишины или бережешь киловатты, советую упростить эффекты Compiz или отключить его совсем. В первом случае нужно установить пакет compizconfig-settingsmanager через Синаптик или в Терминале скомандовать:

$ sudo aptitude install
compizconfig-settings-manager

Чтобы получить доступ к возможностям Compiz и упростить эффекты по своему вкусу, проходим по маршруту: Меню {„ Система „„ Параметры „| Менеджер настройки Compiz Config. Если желаешь просто отключить Compiz, то это можно сделать через пункт Меню „| Система Ћ Параметры r„ Внешний вид, в закладке «Внешний вид» выстави «Без эффектов».

Уменьшение задержек GTK

В Ubuntu рабочей средой является Gnome, где важную роль играет GTK. Изменяя настройки этого тулкита, мы влияем на все приложения, использующие его. Предлагаю подкрутить параметры, отвечающие за задержки:

$ gedit ~/.gtkrc-2.0
### Минимальное время в миллисекундах, в течение которого указатель должен оставаться на пункте меню перед появлением подменю
gtk-menu-popup-delay = 0
### Время в миллисекундах перед скрытием подменю, когда указатель перемещается на подменю
gtk-menu-popdown-delay = 0
### Задержка в миллисекундах перед появлением подменю после панели меню
gtk-menu-bar-popup-delay = 0

Ювелирная настройка Gnome

В Gnome настройки хранятся по аналогии с реестром MS Windows, с той лишь разницей, что «реестр» Gnome – это XML-файлы. Доступ к ним можно получить через редактор конфигураций gconf-editor или через вызов команды gconftool-2. Чтобы ускорить время отклика «реестра», предпримем следующие шаги:

1. Укажем Metacity не использовать анимационные эффекты, снизив тем самым потребление ресурсов:

$ gconftool-2 --type bool --set /apps/metacity/general/reduced_resources true

Единственное, что визуально изменится – при перемещении окон не будет отображаться содержимое;

2. Выключим анимацию включения/выключения панелей:

$ gconftool-2 --type bool --set /apps/panel/global/enable_animations false

3. Отключим вспомогательные технологии клавиатуры, мыши и т.д., предназначенные для людей с ограниченными возможностями:

$ gconftool-2 --type bool --set /desktop/gnome/interface/accessibility false

4. Зададим скорость анимации панелей «Быстрая»:

$ gconftool-2 --type string --set /apps/panel/global/panel_animation_speed panel-speed-fast

Если у тебя установлен режим, при котором во время наведения мыши на окно открытого приложения последнее выдвигается на передний план, то можно потвикать параметр auto_raise_delay, контролирующий задержку между наведением мыши и выдвижением окна:

$ gconftool-2 --type integer --set /apps/metacity/general/auto_raise_delay 100

Оптимизация XML

В структурированных файлах XML многие программы в Ubuntu хранят настройки и данные. Есть возможность преобразовать XML из «читабельного» формата, понятного человеку, в формат, удобный компьютеру. Преобразованные XML-файлы быстрее загружаются и занимают меньше ОЗУ. В таком преобразовании помогут скрипты, которые можно скачать по адресу: www.gnomefiles.org/app.php?soft_id=1397 . Распаковываем полученный архив (desktop-optimizations.tar.gz) и по очереди запускаем скрипты от обычной учетной записи:

  1. rhythmbox-quickstart оптимизирует файлы музыкального проигрывателя Rhythmbox;
  2. evolution-optimize оптимизирует файлы почтовой программы Evolution;
  3. gnome-optimize оптимизирует файлы Gnome;
  4. openoffice-optimize оптимизирует файлы офисного пакета OpenOffice. org;
  5. doc-optimize оптимизирует файлы помощи Gnome;
  6. gconf-optimize оптимизирует файлы конфигураций Gnome («реестр» Gnome).

Если в системе несколько аккаунтов, то скрипты rhythmbox-quickstart и gconf-optimize нужно запускать от каждой учетной записи. Ничего страшного не произойдет, если ты запустишь скрипты несколько раз – оптимизация «уже оптимизированного» не разрушительна. Желательно перезайти в систему после оптимизации XML для того, чтобы изменения вступили в силу.

Скрипты оптимизируют как файлы в домашней директории, так и системные файлы, запрашивая привилегии через sudo. Скрипты делают резервные копии, но если при длительной процедуре оптимизации у тебя из-за сбоя электросети перезагрузится компьютер, то результаты, возможно, будут неоднозначны и плачевны. Наличие ИБП приветствуется.

Ускорение запуска программ, использующих QT

Традиционно считается, что Gnome - это GTK, а KDE - это Qt, но пользователю ничто не мешает запускать программы GTK в KDE, а Qt программы в Gnome. Даже больше! Авторы Gnome и KDE многое сделали, чтобы «чужие» программы внешне выглядели так же, как «родные». Сейчас мы рассмотрим, как ускорить запуск программ, написанных с использованием Qt в Gnome. В действительности, Qt"шная прога может не зависеть от KDE, но использовать возможности этой среды. Для этого при старте она должна получить «минимальный набор KDE». Как узнать, какие программы зависят от KDE? В Терминале даем команду:

$ sudo aptitude search "~i!~nlib(~Dqt|~Dkde)"

На экран будут выведены пакеты, которые установлены ("~i") И это не библиотека ("!~nlib") И в зависимостях есть Qt ("~Dqt") ИЛИ в зависимостях есть KDE ("~Dkde"). Заранее запуская «минимальный набор KDE» и удерживая в памяти соответствующие библиотеки, мы добьемся ускорения при старте этих программ. Трюк весьма прост: в Меню DE Система „t Параметры „‘ Запускаемые приложения добавляем запускаемую программу /usr/bin/kdeinit под именем FastQt. Все, после перезагрузки компьютера твои Qt-программы будут стартовать быстрее.

Ускорение запуска программ с помощью Preload

Preload – демон, работающий в фоновом режиме, который собирает информацию о наиболее часто используемых программах, кэширует их и используемые ими библиотеки, что приводит к повышению скорости загрузки программ. Нужно просто установить preload командой:

$ sudo aptitude install preload

Или запустить Синаптик, найти в нем preload и установить его. Настройки preload по умолчанию подходят для большинства пользователей, поэтому изменять что-либо в файле /etc/preload.conf не нужно.

Легкая оптимизация файлов SQLITE

Многие программы в Ubuntu хранят свои данные не в текстовых файлах, а в базах данных, и часто в качестве последних выступают SQLite. Средствами таких СУБД можно почистить пустые записи и создать индексы файла базы данных заново. Первым делом устанавливаем sqlite3 через Синаптик или набираем в Терминале:

$ gedit ~/bin/optimizer.sh
#!/bin/sh
### Оптимизация для Firefox
find ~/.mozilla/ -name "*.sqlite" -print -exec
sqlite3 {} "VACUUM; REINDEX;" > /dev/null 2>&1 \;
### Оптимизация для Epiphany
find ~/.gnome2/epiphany -name "*.sqlite"
-print -exec sqlite3 {} "VACUUM; REINDEX;" >
/dev/null 2>&1 \;
### Оптимизация для Liferea
sqlite3 ~/.liferea*/liferea.db "VACUUM;
REINDEX;" > /dev/null 2>&1
exit 0

С помощью команды «chmod +x ~/bin/optimizer.sh» делаем файл исполняемым.
Периодически можно вызывать этот скрипт при закрытых программах, чьи файлы баз данных мы хотим оптимизировать.

Тотальная оптимизация файлов SQLITE

В предыдущем разделе мы оптимизировали SQLite-файлы данных браузеров Firefox, Epiphany и RSS-читалки Liferea. Сейчас немного усложним задачу. Найдем в домашней директории все SQLite-файлы и конкретно их заоптимизируем:). Что нам потребуется?

1. Установи sqlite3 через Синаптик или в Терминале, если ты еще этого не сделал:

$ sudo aptitude install sqlite3

2. Создай файл ~/bin/sqlite_shrink.sh следующего содержания:

$ gedit ~/bin/sqlite_shrink.sh
#!/bin/sh
find ~/ -size +100k -type f -print0 | \
while read -d "" FILE; do
abs_file_name=$(readlink -f "$FILE")
headfile=`head -c 15 "$abs_file_name"`;
if [ "$headfile" = "SQLite format 3" ]; then
file_size_do=`du -b "$abs_file_name"|cut
-f1`;
sqlite3 "$abs_file_name" "VACUUM; REINDEX;" > /
dev/null 2>&1
file_size_posle=`du -b "$abs_file_name"|cut -f1`;
echo "$abs_file_name";
echo "Размер ДО $file_size_do";
echo "Размер ПОСЛЕ $file_size_posle";
echo -n "Процент "
echo "scale=2; ($file_size_posle/$file_size_
do)*100"|bc -l
fi
done
sleep 2
exit 0

3. Сделай ~/bin/sqlite_shrink.sh исполняемым через Наутилус или в Терминале «chmod +x ~/bin/sqlite_shrink.sh».

4. Теперь закрой сеанс в Ubuntu и перейди в консоль, нажав . Залогинься в консоли и командуй:

$ sudo /etc/init.d/gdm stop
$ sudo /etc/init.d/kdm stop
$ ~/bin/sqlite_shrink.sh > ~/report_sqlite_shrink.txt

5. Дождись окончания работы скрипта и перезагружайся:

$ sudo shutdown -r +0

После тотальной реиндексации файлов все программы, использующие SQLite, получат выигрыш. А какие именно? Читай ~/report_sqlite_ shrink.txt, в нем увидишь имена файлов, размер до и после чистки и реиндексации. Любители Google Chrome и KDE точно будут рады данному совету. Периодически повторяй процедуру, и освежающий эффект гарантирован.

Создание кэшей

GTK+ может использовать файлы кэша, созданные gtk-update-iconcache, чтобы избежать лишних системных вызовов и дисковых операций при запуске приложений. Так как формат кэш-файлов позволяет множеству приложений (mmap()ed) совместно их использовать, общее потребление памяти тоже сокращается. Нам остается периодически запускать скрипт, который вызывает gtk-update-icon-cache, и создавать кэши, ускоряющие доступ к тем значкам. Вызовем заодно fc-cache, который создает описания для шрифтов.

$ gedit ~/bin/rebuild_cache.sh
#!/bin/sh
### Обновление кэша иконок в своей папке
for d in ~/.icons/*; do gtk-update-icon-cache -f $d;
done
### Обновление кэша иконок в системе
for d in /usr/share/icons/*; do sudo gtk-update-iconcache
-f $d; done
### Обновление кэша шрифтов
sudo fc-cache -fv
fc-cache ~/.fonts

Сделай файл исполняемым с помощью команды “chmod +x ~/bin/ rebuild_cache.sh”. Если добавляешь в систему новые шрифты и темы Gnome, то запускай скрипт ~/bin/rebuild_cache.sh, который построит для них кэши.

Кэширование символьных таблиц

Создай пустой каталог

$ mkdir ~/.compose-cache

Теперь твои Qt/GTK программы будут чуток быстрее стартовать и потреблять меньше памяти, благодаря тому, что libX11 будет создавать в ~/.compose-cache кэши распарсенной информации и использовать ее повторно.

Подкачка Ubuntu

В современных операционных системах используется понятие «подкачка страниц». Вспомним, что это процесс, который при нехватке ОЗУ вытесняет неиспользуемые страницы памяти в область, называемую разделом подкачки. Когда страница снова нужна, ее загружают обратно в ОЗУ. Поскольку своп обитает на жестком диске, который в разы медленнее оперативки, активное перемещение страниц тудасюда-обратно замедляет работу компьютера в целом. Вывод? Нужно, чтобы в компьютере было достаточно ОЗУ для твоих задач. Вывод банален, но это так.

В довершение немного изменим поведение Ubuntu в отношении использования ОЗУ и области подкачки. Есть такой параметр vm.swappiness, по умолчанию он имеет значение 60 и служит для того, чтобы определить процент свободной памяти, при котором начнется активный сброс страниц в раздел swap. Иными словами, при памяти, занятой на 40% (100-60), Ubuntu уже начнет использовать область подкачки. При большом количестве ОЗУ в компьютере лучше снизить значение параметра vm.swappiness до 10, тем самым дав пингвину указание не использовать swap, пока занятый объем оперативки не достигнет 90% (100-10). Для такого изменения проще всего запустить Терминал и в нем скомандовать:

$ sudo sh -c "vm.swappiness = 10" >> /etc/sysctl.conf

После перезагрузки шустрая оперативка будет более эффективно использоваться, а медленный swap – реже задействоваться.

Заключение

Ты должен понимать, что настройки всегда по определению консервативны, и разработчик ОС/программы стремится, чтобы они работали на большом спектре систем. Поэтому тюнинг операционки - это не нажатие одной кнопки с надписью «Сделать все быстро». Понимая, что описано в совете, и анализируя, чем именно достигается ускорение, ты аккуратно применяешь команды и внимательно следишь за поведением системы. Надеюсь, что советы тебе пригодились, и твой пингвин стал более отзывчивым.

Info

  • Проверить степень отзывчивости интерфейса позволит GTKPerf: linux.softpedia.com/progDownload/GtkPerfDownload-6715.html
  • Применяй советы по одному, каждый раз желательно перезагружать систему. Проверяй влияние совета временем, не торопись.
  • Чудес не бывает. Советы либо задействуют свободную память, либо отключают чтото для ускорения.

Публикации по теме