Оптимизация ubuntu для слабых пк

Обновлено: 08.07.2024

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

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

Как проходит загрузка Linux

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

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

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

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

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

Анализ загрузки Systemd

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

Давайте посмотрим насколько быстро грузится наша система сейчас:

systemd

Да, здесь 17 секунд, не так уж плохо, но будет еще лучше после завершения ускорения загрузки. На загрузку ядра уходит 5.405, а на все остальные сервисы 11.611. Чтобы понять какие именно сервисы замедляют систему нам нужна более подробная информация, мы можем ее получить с помощью параметра blame:

systemd1

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

systemd-analyze plot > graph.svf

Утилита сгенерирует svf файл с графиком, откройте его в браузере:

systemd2

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

Ускорение загрузки Linux

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

Настраивать Grub будем правильно. Параметры загрузки ядра находятся в файле /etc/default/grub, а именно в строчке GRUB_CMDLINE_LINUX_DEFAULT. Откройте этот файл:

Теперь приводим интересующую нас строчку к такому состоянию:

GRUB_CMDLINE_LINUX_DEFAULT="quiet rootfstype=ext4 libahci.ignore_sss=1 raid=noautodetect selinux=0 plymouth.enable=0 lpj=12053560"

Разберем подробнее за что отвечает каждый параметр:

  • quiet - вывод, это долго, поэтому говорим ядру что на экран нужно выводить минимум информации
  • rootfstype=ext4 - указываем в какую файловую систему отформатирован корень. У меня ext4.
  • libahci.ignore_sss=1 - Ignore staggered spinup flag, ускоряет загрузку жестких дисков
  • raid=noautodetect - raid я не использую, думаю вы тоже поэтому отключаем.
  • selinux=0 - система полномочий selinux на домашней машине тоже ни к чему, без нее будет быстрее.
  • plymouth.enable=0 - заставка plymouth тоже занимает много времени, поэтому убираем заставку
  • lpj=12053560 - позволяет задать константу loops_per_jiffy, что позволит ядру не вычислять ее каждый раз и сэкономит до 250 миллисекунд. Это значение индивидуально для каждого компьютера.

Чтобы узнать значение последнего параметра выполните:

dmesg | grep 'lpj='

systemd3

Нас будет интересовать значение lpj=, укажите его в своем конфигурационном файле.

Также для указания корневого раздела желательно не использовать всякие там UUID, быстрее будет если написать прямо. Для того чтобы конфигуратор grub не использовал grub добавьте в тот же файл строчку:

Сохраните файл и обновим конфигурацию grub:

Проверяем, действительно ли установлены нужные опции:

systemd5

Да, все правильно, перезагружаем компьютер, и смотрим что вышло:

systemd4

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

Настройка системы

Во-первых SELinux отключен не полностью. Для полного отключения добавляем строку в файл /etc/selinux/config:

sudo vi /etc/selinux/config

Во-вторых, проверка файловых систем тоже может занять некоторое время. Оставляем проверку на ошибки только для корня. Для этого откройте файл /etc/fstab и приведите строчку для корня к такому виду:

/dev/sda3 / ext4 defaults 1 1

Последний параметр отвечает за проверку, 1 - проверять, 0 - не проверять. Установите для всех других разделов 0. К тому же boot раздел лучше монтировать по требованию. Для этого изменяем его запись:

/dev/sda1 /boot ext4 noauto,comment=systemd.automount 1 0

Затем давайте перенесем папку /tmp в оперативную память, чтобы уменьшить количество операций на жестком диске:

tmpfs /tmp tmpfs defaults 0 0

Ускорение загрузки Linux отключением сервисов

Вот мы и добрались к сервисам. Оптимизация сервисов заключается в том, чтобы отключить лишнее, а также использовать только возможности, встроенные в systemd, так будет быстрее. Сначала перенесем всю функциональность на systemd.

Первым отключим rsyslog. В systemd используется свой механизм записи логов journald, поэтому вести еще один не нужно. Для отключения выполните:

sudo systemctl disable rsyslog
$ sudo systemctl mask rsyslog

Опция mask позволяет спрятать юнит, система будет думать что его не существует и не сможет загрузить. Восстановить такой юнит можно командой systemctl unmask.

В systemd реализована своя служба настройки сети - networkd, поэтому необязательно использовать NetworkManager. Работа со встроенной службой будет намного быстрее. Здесь нужно заметить, что если вы используете wifi и не хотите настраивать его вручную, через консоль, то отключать NetworkManager не стоит.

Отключаем NetworkManager и включаем networkd:

sudo systemctl disable NetworkManager
sudo systemctl enable systemd-networkd

Службу networking тоже можно отключить, если не используете:

sudo systemctl disable networking

Включаем resolved, который отвечает за настройку DNS серверов:

sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved

Даем символическую ссылку на файл /etc/resolv.conf

sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Осталось настроить динамическое получение ip адреса при загрузке:

[Match]
Name=enp*
[Network]
DHCP=yes

enp0* значит, что сеть нужно подымать только для устройств, имена которых начинаются на enp0. Готово, сеть настроена.

В systemd есть свое решение для выполнения задач по расписанию, поэтому cron можно не использовать:

sudo systemctl disable cron

С заменой разобрались, перейдем к удалению лишнего. Отключаем фаервол, на домашней машине, за маршрутизатором он не нужен:

sudo systemctl disable ufw
$ sudo systemctl mask ufw

Отключаем apport (служба отчетов об ошибках):

sudo systemctl disable apport

Я не использую ppp и мобильные соединения, поэтому и эти сервисы можно отключить.

sudo systemctl disable pppd-dns
sudo systemctl mask pppd-dns

sudo systemctl disable ModemManager
sudo systemctl mask ModemManager

Если вы не используете Avahi, его тоже можно отключить:

sudo systemctl disable avahi-daemon

Систему AppArmor тоже можно отключить:

sudo systemctl disable apparmor

Также если у вас загружаются такие программы, как postfix (почтовый сервер), apache (веб-сервер), mysql (сервер баз данных) лучше их тоже убрать из автозагрузки и запускать потом вручную.

Перезагружаемся и проверяем скорость загрузки:

systemd7

У меня скорость загрузки linux выросла на пять секунд. Но это нормально, учитывая, что используется VirtualBox, на реальной машине можно получить и больше. А самая лучшая оптимизация - купить SSD, там можно достичь даже скорости загрузки до двух-трех секунд.

Выводы

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

SHITTY CONTENT ALERT Это устаревшая статья. Возможно, вы найдёте тут что-то полезное для себя, но местный домовой советует не вставать на этот скользкий путь.

Вот свежая статья по той же теме: 10 советов по ускорению Ubuntu Linux.

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

1. Улучшение использования системной памяти (ОЗУ)

Есть три способа, которыми вы можете улучшить использование памяти:

Уменьшение размера файла подкачки

При использовании маленького объема оперативной памяти (как правило, меньшего, чем 1 ГБ) система сбрасывает часть информации в файл подкачки (SWAP-file), который также называется «Виртуальная память». Чрезмерное использование файла подкачки может замедлять систему.

В Ubuntu агрессивность использования файла подкачки определяется параметром swappiness . Чем меньше это число, тем больше времени требуется Ubuntu для загрузки. Стандартное значение — 60 — вполне подходит серверам, но для домашнего компьютера этого слишком много.

FBS , Санкт-Петербург , По итогам собеседования

Детальное описание вы можете найти здесь

Решение:

1. Для начала должны быть установлены приложения gksu и leafpad .

Запустите терминал и введите следующую команду: sudo apt-get install gksu leafpad . Нажмите Enter и введите пароль. Имейте в виду, что пароль будет скрыт, даже звездочек не будет.

2. Теперь проверим значение файла подкачки.

Для этого введите в терминале команду: cat /proc/sys/vm/swappiness и нажмите Enter. Результатом, скорее всего, будет 60.

3. Теперь, чтобы изменить значение выполните команду: gksudo leafpad /etc/sysctl.conf

Пролистайте до конца файла, и переопределите стандартное значение swappiness . Для этого скопируйте следующее:

Сохраните файл, закройте и перезагрузитесь. После перезагрузки проверьте значение swappiness в терминале: cat /proc/sys/vm/swappiness . Теперь оно должно быть 10.

Примечание: Вы можете дальше уменьшать это значение для лучшей производительности, идеальный swappiness для 1ГБ ОЗУ или более — 10, для меньшего объема — 5

Для 1ГБ ОЗУ и более

Если у вас есть 1 Гб оперативной памяти и более, имеет смысл уменьшить кэш с индексными дескрипторами (inode cache). Это возможно на компьютерах с, как минимум, 1 ГБ ОЗУ, поскольку некоторые системные ресурсы могут долго оставаться в памяти, что уменьшает общий объем, доступный пользователю.

Решение:

1. Сначала должны быть установлены такие приложения, как gksu и leafpad .

Запустите терминал и выполните: sudo apt-get install gksu leafpad . Нажмите Enter и введите ваш пароль. Заметьте, что набираемый пароль останется невидимым, не будут показываться даже звездочки.

2. Затем выполните в терминале (можете скопировать текст и вставить его в консоль): gksudo leafpad /etc/sysctl.conf

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

3. Закройте файл, сохраните его и перезагрузите компьютер.

Для 786 МБ ОЗУ или меньше

Даже если вы поменяете значение swappiness для машины с небольшим количеством памяти (менее 786 МБ) проблема со скоростью работы всё равно может остаться.

В этой ситуации можно получить лучшие результаты, если включить экспериментальный модуль ядра zRam. Этот модуль создаёт сжатый файл подкачки в оперативной памяти. Сжатие тут является ключевым фактором, благодаря чему объем памяти как бы “увеличивается”.

Но включение этого модуля приведёт к увеличению нагрузки на процессор т.к. ему нужно будет постоянно заниматься компрессией и декомпрессией. Лучше всего использовать zRam в комбинации со значением swappiness , уменьшенным до 5.

Решение:

Запустите терминал и введите sudo apt-get install zram-config .

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

Выключение zRAM после использования

Запустите терминал и введите sudo apt-get purge zram-config .

Выполните команду нажатием Enter и перезагрузите компьютер.

2. Отключите визуальные эффекты, переключившись на рабочий стол 2D

Для вывода изображения на экран используется видеокарта, которая по умолчанию применяет 3D эффекты, что может быть причиной падения производительности Ubuntu. Вы можете отключить их, переключившись на рабочий стол 2D или Xubuntu desktop.

Решение:

1. Для начала установите gnome-session-fallback:

Запустите терминал и введите: sudo apt-get install gnome-session-fallback . Нажмите Enter и подтвердите действия паролем.

2. Теперь выйдите из системы. В окне входа в систему нажмите на логотип Ubuntu.

Теперь нажмите на GNOME Flashback (Metacity).

Примечание: не выбирайте GNOME Flashback (Compiz), потому что в нем так же присутствует множетсво 3D эффектов, а вы хотите полностью избавиться от них.

3. Зайдите обратно.

3. Твердотельный накопитель (SSD) должен работать быстрее

Твердотелый накопитель (SSD), редко распознается корректно BIOS’ом или UEFI, когда в BIOS/UEFI опция AHCI активирована для SATA. У вас есть SSD? Тогда заставьте его работать быстрее.

4. Отключите индексирование приложений

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

Если вы установили Synaptic Package Manager, при его удалении пропадет строка быстрого поиска из панели Synaptic. Это означает, что вам придется использовать кнопку поиска (со значком увеличительного стекла).

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

Решение:

Выполните в терминале команду: sudo apt-get purge apt-xapian-index . Нажмите Enter и подтвердите действия паролем. После чего перезагрузите компьютер.

5. Отключите Java в Libre Office

При отключении Java в Libre Office вы автоматически значительно увеличиваете производительность программы. Однако, это ведет к отключению некоторых функций, но они не так важны и полезны.

Решение:

1. Откройте Toolbar (Панель инструментов) в Libre Office Writer, затем Tools (Инструменты), затем Options… (Параметры…)

2. Libre Office –> Advanced (Дополнительно) –> Java options (Параметры Java)

3. Снимите галочку с «Использовать среду Java Runtime»

6. Отключите автозагрузку некоторых ваших приложений

Выключение некоторых приложений, предоставленных Ubuntu, поможет вашему компьютеру быстрее работать. Этот способ сравним с тонкой настройкой msconfig в Windows.

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

Решение:

1. Запустите терминал и введите: cd /etc/xdg/autostart/ . Нажмите Enter.

2. Теперь введите в терминале: sudo sed –in-place ‘s/NoDisplay=true/NoDisplay=false/g’ *.desktop

Нажмите Enter и подтвердите действия паролем.

3. Теперь проверьте Приложения Автозагрузки (Startup Applications):

Нажмите на серый логотип Ubuntu (Dash home). Наберите «startup» и снимите галочки с тех приложений, которые вам не нужны, и перезагрузите компьютер (или выйдите и войдите снова).

Примечание: Не удаляйте приложения из списка! Оставляйте возможность легко откатить все изменения (нельзя быть ни в чем уверенным). Если сомневаетесь в предназначении некоторого приложения, ничего не делайте, просто оставьте все как есть.

7. Удалите ненужные аддоны и расширения для веб-браузера

Во многих браузерах, таких как Firefox, Chrome и др., встроено много аддонов и расширений. Они облегчают вашу работу, но при этом обладают рядом недостатков, так как являются «программами в программе».

  • стать причиной неисправной работы: как друг друга, так и самого браузера;
  • замедлять работу браузера, особенно, если их достаточно много;
  • нести в себе вредоносное содержимое.

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

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

8. Как увеличить скорость беспроводного интернета

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

Решение:

1. Для начала должны быть установлены приложения gksu и leafpad .

Запустите терминал и введите следующую команду: sudo apt-get install gksu leafpad . Нажмите Enter и подтвердите действия паролем.

2. Теперь узнайте как Ubuntu обращается к беспроводному соединению:

Нажмите на серое лого Ubuntu (Dash home). Наберите «terminal». Нажмите на терминал и введите: iwconfig . Нажмите Enter. Перед Вами окажется список всех доступных беспроводных подключений с описанием управления питания ( on или off ). Если off то вам не нужно больше ничго делать.

Примечание: В качестве примера используется подключение wlan0 . Иногда оно называется по-другому, например eth1 . В этом случае Вам нужно будет изменить команды в терминале в соответствии с этим именем.

3. Создайте исполняемый текстовый файл “wireless”:

Введите в терминале следующее: sudo touch /etc/pm/power.d/wireless . Нажмите Enter и подтвердите паролем.

Теперь напишите: sudo chmod 755 /etc/pm/power.d/wireless и нажмите Enter.

4. Наберите в терминале: gksudo leafpad /etc/pm/power.d/wireless .

Нажмите Enter. У вас запустится тектовый редактор Leafpad с пустым файлом “wireless”. Скопируйте следующий текст в пустой файл “wireless”:

5. Сохраните и закройте файл

6. Перезагрузите компьютер

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

9. Чистите свою Ubuntu

Регулярная очистка системы поможет вашей Ubuntu работать быстрой и гладко. Вот несколько способов, что можно сделать:

  • Удаляйте оставшийся мусор после удаленных программ.
  • Удаляйте старые ядра.
  • Очищайте кэш миниатюр.

Более детальную информацию можно найти здесь.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Сталкивались ли вы когда-то с тем, что компьютер с Ubuntu работает медленно. Например, медленно работает графическая оболочка, тот же Gnome или KDE, или же подвивает удалённый сервер, к которому вы подключены по SSH. Скорее всего, дистрибутив Ubuntu здесь не виноват, просто это одна из самых популярных операционных систем, поэтому многие пользователи сталкиваются с подобными проблемами впервые именно здесь.

В этой статье мы попытаемся разобраться почему Ubuntu медленно работает. Эту проблему могут вызвать несколько факторов: сильная нагрузка на процессор, одним из процессов, недостаточное количество оперативной памяти или же очень активное использование жесткого диска. Давайте разберемся во всём более подробно.

Почему Ubuntu медленно работает?

1. Загрузка процессора

Чаще всего когда компьютер или сервер тупит виноват либо процессор, либо оперативная память. Начнём с процессора. Удобнее всего посмотреть нагрузку на ядра процессора с помощью утилиты htop. Сначала её надо установить:

sudo apt install htop


Здесь в верхней части программы расположена статистика по загрузке ядер процессора. Вы можете сориентироваться на сколько процессор загружен в данный момент в процентном соотношении. Ниже можно отсортировать все процессы по нагрузке на процессор, это колонка CPU%, в колонке Command видно какой командой была запущена программа:


На домашней машине будет достаточно завершить нагружающий систему процесс или если это графическая оболочка, то сменить её на более легкую. На сервере же такой подход не пройдёт, там обычно уже и так работает только то, программное обеспечение, которое надо. Здесь надо будет уже разбираться дальше, например, если всё процессорное время занимает интерпретатор PHP, то скорее всего, кто-то очень усердно пытается перебрать ваш пароль от админки WordPress и следует его просто забанить и настроить fail2ban.

2. Недостаточно памяти

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

Оценить ситуацию по использованию памяти и раздела подкачки не устанавливая никаких дополнительных утилит можно с помощью команды free.


Надо обратить внимание на колонку Всего и Занято. Если в колонке Доступно указано, что свободно мало памяти, это ещё не значит, что памяти нет, может просто часть памяти используется на какие нибудь буферы и просто зарезервирована.

Более удобно смотреть эту информацию в утилите htop. Здесь информация о памяти находится сразу под информацией о загрузке процессора:


Аналогично предыдущему варианту можно отсортировать процессы по колонке MEM% чтобы понять какая программа потребляет больше всего памяти. На домашнем компьютере это обычно браузер. Сложно представить, что окружение рабочего стола съест все 8 Гб оперативной памяти. Вам остается только открывать меньше вкладок, сменить браузер на более легкий или докупить памяти. Обычно последний вариант помогает лучше всего.

3. Нагрузка на диск

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


Тут надо обратить внимание на колонки IO Read и IO Write, особенно на вторую. Утилита показывает все программы, которые активно ведут запись на диск или читают с диска. Обнаружив такую программу, вы можете её удалить или отключить. А затем смотреть стала ли система работать лучше.

Нагрузку на диск могут создавать различные утилиты-индексаторы, которые готовят свой индекс для того чтобы вы могли потом быстро находить нужные файлы. Одним из таких индексатров был Nepomuk в KDE 4. Тогда все старались его как можно скорее отключить. Также это могут быть и другие программы.

Жесткий диск может работать медленно не только потому, что он сильно нагружен, но и потому, что хочет сломаться. Чтобы проверить состояние жесткого диска можно использовать утилиту smartctl. Она находится в пакете smartmontools:

sudo apt install smartmontools

Чтобы проверить состояние диска запустите её с опцией -H и передайте имя нужного диска. Например:

sudo smartctl -H /dev/sda


Если в строчке test result вы увидите значение Passed, значит всё хорошо. Если там написано Failed, как на снимке, значит жесткий диск уже отслужил своё и его пора менять на новый. Читайте подробнее про проверку диска в статье Проверка диска в Linux. Ещё один вариант ускорить операционную систему за счёт диска - установить её на SSD.

4. Драйвера видеокарты

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

Выводы

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

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

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

Используйте VirtualBox

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

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

Как ускорить Linux

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

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

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

Чтобы ускорить загрузку Linux откройте файл /etc/default/grub от имени root. Измените значение GRUB_TIMEOUT = 10, на 3.

sudo vi /etc/default/grub

А затем обновите конфигурацию Grub. Вот:

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

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

Во время загрузки системы, есть огромная разница между загрузкой ядра и готовностью к работе рабочего стола. Дело в том, что система загружает очень больше количество сервисов, и не все из них вам нужны. В большинстве современных дистрибутивов используется система инициализации systemd. У этой системы инициализации есть специальная утилита, позволяющая проанализировать какие сервисы сколько времени заняли во время загрузки. Это systemd-analyze:

Кроме того, вы можете посмотреть все сервисы списком, добавленные в автозагрузку:

systemctl list-unit-files --state=enabled

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

sudo systemctl disable имя_сервиса

3. Отключите приложения

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

Удалите оттуда все приложения, которые вы не используете. Для отключения автозагрузки можно просто снять галочку напротив программы.

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

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

Чтобы перестать тратить процессорное время на эту задачу кликните по иконке бутерброда, затем выберите пункт Параметры:

В открывшемся меню перейдите на вкладку Поиск и предпросмотр файлов, в разделе Миниатюры измените параметр из Всегда или Только локальные файлы на Никогда.

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

5. Используйте легкое окружение


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

Самая важная задача рабочего окружения - управлять запущенными графическими программами, и давать вам достаточно контроля над ними. Но такие окружения могут выполнять намного больше функций чем вам нужно. Вы можете попробовать XFCE, LXDE или какой либо оконный менеджер. Они ещё более лековесны и быстры. К самым популярным можно отнести Openbox, Fluxbox, i3wm, awesome и другие.

Кроме того, вы можете использовать легкий оконный менеджер вместо стандартного оконного менеджера окружения. Для этого, например, после установки для запуска оконного менеджера openbox наберите:

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

6. Ускорьте KDE

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

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

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

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

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

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

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

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

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

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

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

patch -p1 < patch-5.*-ck1

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

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

Не нужно использовать BIOS, для видеокарт Nvidia была создана утилита с помощью которой можно выполнить разгон видеокарты. Но чтобы включить поддержку разгона вам надо добавить одну строчку в файл /etc/X11/xorg.conf. В современных дистрибутивах такого файла обычно нет, но его можно создать выполнив:

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

Option "Coolbits" "5"

Или для разгона:

Option "Coolbits" "8"

Затем перезапустите Х сервер. Утилиту можно установить с помощью из FlatHub. В самой программе вы можете создать профиль разгона для видеокарты увеличив частоту памяти и графического ядра, а также регулировать обороты кулера.

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

Есть ещё один способ увеличить производительность видеокарты. Утилита Nvidia XSettings на вкладке PowerOptimizer позволяет не только менять частоту графического ядра, но и выбирать профиль производительности. Вы можете включить профиль Prefer maximum performance:

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

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

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

Вы можете настроить все это в своем BIOS. Для доступа к нему используйте клавиши F2 или Del. Возможно, вы найдете там опции для ускорения процессора, увеличения частоты оперативной памяти и т д. Но после разгона не забывайте протестировать стабильность процессора и следить за температурой с помощью консольной утилиты sensors или графической xsensors:

12. Отключите IPv6

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

Откройте настройки вашего подключения к сети, перейдите на вкладку IPv6 и выберите пункт Выключить:

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

Кроме того, можно отключить IPv6 на уровне всего дистрибутива. На этом сайте уже есть статья об этом: Как отключить IPv6 в Ubuntu.

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

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

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

sudo apt install prelink

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

sudo prelink --all

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

sudo vi /etc/default/prelink

Далее установите Preload:

sudo apt install preload

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

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

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

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

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

sudo vi /etc/fstab

tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

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

16. Настройте работу подкачки

Не все системы рационально используют пространство подкачки на жестком диске. По умолчанию значение vm.swappiness установлено 60:

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

sudo sysctl -w vm.swappiness=10

Это значит начинать сбрасывать данные в Swap когда занято 90% памяти (100-10). Можно использовать и другие значения. При частом переполнении памяти это отличная оптимизация Linux.

Выводы

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

Читайте также: