Увеличение скорости работы Ubuntu. Операция «Оптимизация». Советы по ускорению Ubuntu Ubuntu быстродействие

  • 23.03.2021

В целом пользователи Linux пользуются более быстрой операционной системой, чем пользователи Windows. Однако, если вы используете среду с супертяжелом окружением, например, Unity, ваш Ubuntu 16.04 может работать медленно. В этом посте перечислены 4 простых совета, которые вы можете применить, чтобы ускорить работу системы Ubuntu 16.04. Вы увидите увеличение скорости на low-end оборудовании и в Virtualbox. Это также помогает, даже если вы установили Ubuntu на твердотельный диск.

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

Давайте посмотрим, как сделать Ubuntu 16.04 быстрее !

  1. Отключите ненужные приложения для запуска, чтобы ускорить загрузку Ubuntu.

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

Большинство приложений запуска скрыты. Чтобы отобразить их, выполните следующую команду:

sudo sed -i ‘s/NoDisplay=true/NoDisplay=false/g’ /etc/xdg/autostart/*.desktop

Затем запустите приложение для запуска из Unity Dash.

Чтобы отключить загрузочное приложение, просто снимите его.

Вот некоторые приложения, которые вы можете найти нежелательными.

Ускорение Ubuntu: Диспетчер профилей доступности

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

Резервный монитор

Это deja-dup-монитор. Если вы не хотите копировать что-либо с помощью deja-dup, отключите его.

Ускорение Ubuntu: Caribou

Отключите его, если вам не нужна экранная клавиатура.

Общий доступ к рабочему столу

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

Программное обеспечение Gnome

Отключите его, если вы хотите установить программное обеспечение в терминал и не использовать программное обеспечение Gnome.

Устройство чтения с экрана Orca

Отключите это, если вы хотите ускорить Ubuntu.

Ускорение Ubuntu: Общий доступ к файлам

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

Уведомления об обновлениях

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

Еще один способ ускорить процесс загрузки Ubuntu — отключить некоторые службы systemd. Вы можете просмотреть дополнительные запускаемые приложения, выполнив следующую команду в терминале.

systemctl list-unit-files | grep enabled

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

sudo systemctl disable

Например, мой компьютер не имеет bluetooth, поэтому я могу отключить службу bluetooth.

sudo systemctl disable bluetooth.service

У меня нет принтера, поэтому я также могу отключить cups.service.

sudo systemctl disable cups.service

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

  1. Отрегулируйте Swappiness

Ускорение Ubuntu 16.04 требует комплексного подхода. Поэтому, этот вариант также пригодится.

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

Давайте немного поэкспериментируем: загрузите систему Ubuntu 16.04, откройте несколько приложений, таких как Firefox, LibreOffice, Mozilla Thunderbird, Evince document viewer, а затем ничего не делайте с этим. Не приостанавливайте или не спящий режим. Затем через несколько часов вернитесь к своему Ubuntu 16.04. Вы обнаружите, что эти приложения плохо реагируют на ваши щелчки мышью, потому что они бездействовали и выгружались на жесткий диск.

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

Это связано с значением swappiness по умолчанию для Ubuntu. Swappiness — это параметр ядра Linux, который контролирует, как часто Linux сворачивает незанятые процессы в пространство подкачки на вашем жестком диске.

Значение swappiness находится между 0 ~ 100. Нижнее значение означает, что Linux будет использовать пространство подкачки меньше, тогда как более высокое значение заставляет Linux чаще использовать пространство подкачки. Значение по умолчанию для Ubuntu равно 60, что означает, что, если ваш компьютер использует до 40% физической памяти, ядро ​​Linux начинает подкачку. То есть ускорить Ubuntu можно просто правильно отрегулировав эту функцию.

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

cat /proc/sys/vm/swappiness

sudo sysctl vm.swappiness=10

Не добавляйте пробелы до и после знака равенства. Эта команда указывает ядру Linux использовать пространство подкачки при использовании 90% или более физической памяти. Этот параметр не является постоянным.

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

sudo nano /etc/sysctl.d/99-sysctl.conf

В конце этого файла добавьте следующую строку.

Сохраните и закройте этот файл. (Нажмите Ctrl + O, чтобы сохранить, нажмите Ctrl + X, чтобы выйти). Этот совет также применим к вашему серверу Ubuntu 16.04.

Следующий совет поможет существенно ускорить Ubuntu на любых конфигурациях устройств.

  1. Предварительно загружайте часто используемые приложения

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

Установите предварительную загрузку на Ubuntu 16.04 с помощью этой однострочной команды.

sudo apt install preload

После установки и «монтировки» предварительной загрузки, процесс будет автоматически запущен. Вы можете проверить это:

systemctl status preload

Если он не запущен, запустите его с помощью следующей команды:

sudo systemctl start preload

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

  1. Отключить дополнительные эффекты

Необычные эффекты — это глазные конфеты, но они могут замедлить работу вашего компьютера. Мы можем использовать compizconfig-settings-manager для их отключения.

sudo apt install compizconfig-settings-manager

Начните его с Unity Dash. Затем нажмите вкладку Эффекты слева и отключите эффекты, которые вам не нравятся. Вы можете отключить все эффекты, если хотите.

Вы также можете отключить размытие фона Unity Dash с помощью инструмента Tweak Unity, чтобы сделать Dash более отзывчивым.

sudo apt install unity-tweak-tool

Затем откройте его, выберите вкладку поиска и установите для параметра «Размытие фона» значение «Выкл.».

Некоторым людям нравится прозрачный фон. Какой вы предпочитаете? И насколько помог этот способ ускорить Ubuntu на вашей системе.

После

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

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

Как вы можете видеть из приведенного выше скриншота, mnt-pi.mount и vboxadd.service являются виновниками на моем компьютере. Я знаю, что mnt-pi.mount отвечает за установку NFS с моего Raspberry Pi, но мне больше не нужна NFS, поэтому я могу безопасно удалить монтирование NFS из файла / etc / fstab. Я также знаю, что служба vboxadd полезна только для виртуальных машин, поэтому я могу отключить эту службу на своей физической машине.

sudo systemctl disable vboxadd.service

Чтобы узнать время загрузки, запустите:

После

Другие способы ускорить работу Ubuntu 16.04

Перевод статьи из отличного английского ресурса LinuxBabe .

Надеюсь, эти настройки производительности помогли вам сделать Ubuntu 16.04 быстрее. Знаете ли вы другие способы, которые могут ускорить работу Ubuntu 16.04 ? Поделитесь своими советами в комментариях ниже. Если вы нашли этот пост полезным, подпишитесь на нашу бесплатную рассылку или поделитесь ссылкой в Google+, Одноклассники, Twitter, ВКонтакте или, например, Facebook.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

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

Echo 10 > /proc/sys/vm/swappiness

Sysctl -w vm.swappiness=10

Для сохранения настройки после перезагрузки внесите в конец файла /etc/sysctl.conf следующую строку:

Vm.swappiness=10

Что бы сразу применить настройку:

Sysctl -p

В дополнение можно сказать еще о нескольких параметрах.
В псевдофайле vfs_cache_pressure хранится значение - уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Увеличение этого параметра заставляет ядро активнее выгружать неиспользуемые страницы памяти из кеша, т.е. количество выделяемой оперативной памяти под кеш будет расти медленнее, что в свою очередь снизит вероятность того, что будет задействован раздел swap. При уменьшении этого параметра ядро, наоборот, будет дольше держать страницы памяти в кеше, в том числе и в swap"е. Это имеет смысл при небольшом количестве ОЗУ, например, если у нас 512 МБ памяти, то параметр vfs_cache_pressure можно выставить равным 50. Это позволит сократить количество дисковых операций в swap разделе, так удаление неиспользуемых страниц будет происходить реже. Дальнейшее уменьшение этого параметра может привести к нехватке памяти.
Если вы хотите ускорить работу системы и у вас достаточно оперативки (2 Гб и более), то измените значение системы, так: swappiness = 10 , vfs_cache_pressure = 1000 (по умолчанию 100) , внесите в файл /etc/sysctl.conf следующую строку:

Vm.vfs_cache_pressure=1000

или на лету:

Sysctl -w vm.vfs_cache_pressure=1000

Кэширование в Linux

При записи данных на диск (любой программой) Linux кэширует эту информацию в области памяти, называемой Page Cache (страничный кэш). Информацию об этой области памяти можно посмотреть с помощью команд free, vmstat или top . Полную информацию об этой области памяти можно посмотреть в файле /proc/meminfo . Ниже приведен пример этой файла на сервере с 4-мя GB RAM:

MemTotal: 3950112 kB
MemFree: 622560 kB
Buffers: 78048 kB
Cached: 2901484 kB
SwapCached: 0 kB
Active: 3108012 kB
Inactive: 55296 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3950112 kB
LowFree: 622560 kB
SwapTotal: 4198272 kB
SwapFree: 4198244 kB
Dirty: 416 kB
Writeback: 0 kB
Mapped: 999852 kB
Slab: 57104 kB
Committed_AS: 3340368 kB
PageTables: 6672 kB
VmallocTotal: 536870911 kB
VmallocUsed: 35300 kB
VmallocChunk: 536835611 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB

Размер Page Cache показан в параметре "Cached", в данном примере он составляет 2,9 GB. При записи страниц в память размер параметра "Dirty" увеличивается. При начале записи на диск будет увеличиваться параметр "Writeback" до тех пор, пока запись не закончится. Достаточно сложно увидеть параметр "Writeback" высоким, так как его значение увеличивается только во время опроса, когда операции ввода/вывода (I/O) поставлены в очередь, но еще не записаны на диск.
Linux обычно записывает данные из кэша на диск с помощью процесса pdflush. В любой момент в системе запущено от 2 до 8 потоков pdflush. В файле /proc/sys/vm/nr_pdflush_threads можно посмотреть сколько в данный момент активных потоков. Каждый раз все существующие потоки pdflush заняты по крайней мере 1 секунду. Новые потоки пытаются записать данные в свободные очереди устройств, таким образом, чтобы на каждое активное устройство был 1 поток сбрасывающий данные из кэша. Каждый раз по прошествии секунды без какой-либо активности со стороны pdflush убирается 1 поток. В Linux можно настроить минимальное и максимальное количество pdflush потоков.

Настройка pdflush
Каждый поток pdflush контролируется несколькими параметрами в /proc/sys/vm:

  • /proc/sys/vm/dirty_writeback_centisecs (default 500): в сотых долях секунд. Этот параметр означает как часто pdflush возобновляет работу для записи данных на диск. По умолчанию возобновляет работу 2 потока каждые 5 секунд.
    Возможно недокументированное поведение, которое пресекает попытки уменьшения dirty_writeback_centisecs для более агрессивного кэширования данных процессом pdflush. Например, в ранних версиях ядра 2.6 Linux в файле mm/page-writeback.c код включал логику, которая описывалась "если запись на диск длится дольше, чем параметр dirty_writeback_centisecs, тогда нужно поставить интервал в 1 секунду". Эта логика описана только в коде ядра, и ее функционирование зависит от версии ядра Linux. Так как это не очень хорошо, поэтому вы будете защищены от уменьшения этого параметра.
  • code>/proc/sys/vm/dirty_expire_centiseconds (default 3000): в сотых долях секунд. Этот параметр указывает как долго данные могут находится в кэше, после чего должны быть записаны на диск. Значение по умолчанию очень долгое: 30 секунд. Это означает, что при нормальной работе до тех пор пока в кэш не запишется достаточно данных для вызова другого метода pdflush, Linux не будет записывать данные на диск, находящиеся в кэше менее 30 секунд.
  • /proc/sys/vm/dirty_background_ratio (default 10): Максимальный процент оперативной памяти, который может быть заполнен страничным кэшем до записи данных на диск. Некоторые версии ядра Linux могут этот параметр устанавливать в 5%.
    В большинстве документации этот параметр описывается как процент от общей оперативной памяти, но согласно исходным кодам ядра Linux это не так. Глядя на meminfo, параметр dirty_background_ratio расчитывается от величины MemFree + Cached - Mapped. Поэтому для нашей демонстрационной системы 10% составляет немного меньше, чем 250MB, но не 400MB.

Когда pdflush начинает запись?
В конфигурации по умолчанию, данные, записываемые на диск, находятся в памяти до тех пор пока:

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

Процесс записи страниц
Параметр /proc/sys/vm/dirty_ratio (default 40) - максимальный процент общей оперативной памяти, который может быть выделен под страничный кэш, до того как pdflush будет писать данные на диск.

Примечание: Во время записи на диск блокируются все процессы на запись, а не только тот который заполнил буфер на запись. Это может спровоцировать блокировку одним процессов всех операций вводы/вывода в системе.

Рекомендации по оптимизации Linux для операций, требующих частой записи
Обычно, при попытке увеличения производительности дисковой подсистемы сталкиваются с проблемой, что Linux буферизует слишком много информации сразу. Это особенно заметно для операций, требующих синхронизации файловой системы, использующих вызовы fsync. Если во время такого вызова в кэше много данных, то система может "подвиснуть" пока не закончится этот вызов.
Другая частая проблема происходит потому, что слишком много требуется записать до того, как начнется запись на физический диск, операции ввода/вывода происходят чаще, чем при нормальной работе.

  • dirty_background_ratio: Основной инструмент настройки. Обычно уменьшают этот параметр. Если ваша цель снизить количество данных, хранимое в кэше, так что данные будут писаться на диск постепенно, а не все сразу, то уменьшение этого параметра наиболее эффективный путь. Значение по умолчанию наиболее приемлимо для систем имеющих много оперативной памяти и медленные диски.
  • dirty_ratio: Второй по значимости параметр для настройки. При значительном снижении этого параметра приложения, которые должны писать на диск, будут блокироваться все вместе.
  • dirty_expire_centisecs: Попробуйте уменьшить этот параметр, но не сильно. Он позволяет уменьшить время нахождения страниц в кэше до записи на диск, но с другой стороны это значительно снизит среднюю скорость записи на диск, что особенно проявится на системах с медленными дисками.

В итоге получим
В файле /etc/sysctl.conf вносим:

Vm.dirty_background_ratio = 10 vm.dirty_ratio = 40

После синхронизируем данные кэша и диска, очистим кэш и сохраним параметры:

Sync; echo 3 > /proc/sys/vm/drop_caches; sysctl -p

Чтобы уменьшить количество финализаций записи на диск необходимо подкорректировать:

Vm.dirty_writeback_centisecs = 15000

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

В ОС семейства Windows файл, служащий для хранения неиспользуемой оперативной памяти в области жесткого диска, именуется «файлом подкачки» (pagefile.sys).

Его организация реализована далеко не лучшим образом (мягко говоря!). В ОС Linux еще при установке создается отдельный раздел подкачки — «Swap», что гораздо лучше.

Файл подкачки Windows и Linux-swap, располагаются на HDD (жестком диске). Когда оперативной памяти становиться недостаточно, происходит выгрузка страниц памяти из ОЗУ на жесткий диск, а когда вы снова обращаетесь к файлам, находящимся в разделе подкачки (swap), они снова загружаются в оперативную память.

Вся проблема в том, что скорость чтения-записи жесткого диска HDD (даже самого быстрого) В РАЗЫ меньше скорости оперативной памяти. Вот это и ведет к замедлению работы компьютера и снижению производительности в целом.

Здесь есть два способа решения этой проблемы: использовать большие объемы ОЗУ или правильно настроить работу системы с файлом подкачки и swap.

Итак, в Ubuntu есть такой параметр, который контролирует процент свободной памяти, при которой начнется сброс страниц памяти в swap - vm.swappiness.

В Ubuntu по умолчанию он имеет значение равное - 60. Это означает, что при 40% занятой оперативной памяти начнется активный сброс страниц памяти в раздел swap, т. е. 100% — 60% = 40%.

Проверить, каково значение параметра у вас, можно следующим образом.

Открываем терминал комбинацией клавиш Ctrl+Alt+T и выполняем команду:

cat /proc/sys/vm/swappiness

Такое значение параметра может быть полезно только для компьютеров с малым количеством оперативной памяти (512 -1024 МБ).

Если у вас современный компьютер или ноутбук с большим объемом ОЗУ (4-6, а то и 8 ГБ), то это вам вряд ли подойдет.

На многих форумах и блогах, посвященных Ubuntu рекомендуется выставить значение параметра vm.swappiness = 10 (т. е. 100% — 10% = 90%). Но, по моему личному опыту, при наличии оперативной памяти объемом в 6 ГБ можно повести себя и по-агрессивнее, выставив значение равным 0. В данном случае система будет обращаться к разделу swap только в крайнем случае.

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

Сделать это можно так.

Опять же открываем всемогущий терминал комбинацией клавиш Ctrl+Alt+T и выполняем в нем следующую команду:

sudo sysctl vm.swappiness=

После знака равенства выставите значение от 100 до 0 (в зависимости от объема вашего ОЗУ).

После этого попробуйте «погрузить» свою систему: открыть несколько браузеров с большим числом вкладок, покопировать большие файлы на внешние носители (это, кстати, является больной стороной linux-систем — скорость копирования на внешние носители. Но об этом как-нибудь в следующий раз) и тому подобное.

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

sudo gedit /etc/sysctl.conf

Перед вами откроется конфигурационный файл в текстовом редакторе gedit . В конце этого файла вставляем два следующих параметра без решетки перед ними:

vm.swappiness=0 vm.vfs_cache_pressure = 1000

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

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

sudo sysctl -p

Я, как уже было отмечено выше, выбрал параметр равным 0, фактически отключив раздел swap, т. к. для моего компьютера с шестью гигабайтами ОЗУ он оказался наиболее оптимальным. Вы можете выбрать значение параметра равным 10, как это рекомендовано на многочисленных форумах.

В качестве примера мне бы хотелось продемонстрировать загрузку оперативной памяти в Ubuntu 12.10 x64 с 6 ГБ ОЗУ.
Итак, я открыл три браузера - штатный Mazilla Firefox, Opera и Google Chrome с общим количеством вкладок около 40, аудиоплеер Clementine (кстати, довольно требовательный к ресурсам компьютера), Skype, торрент-клиент qBittorrent.
И вот скриншот htop (это довольно продвинутый консольный монитор процессов). Для установки набираем в терминале

sudo apt-get install htop


Я думаю, что все становится понятно: занято менее половины установленной оперативной памяти.
Поэтому если у вас много ОЗУ, то использовать раздел подкачки не имеет никакого смысла. Это будет только замедлять скорость работы компьютера!
В заключении могу сказать, что это не единственное, что можно сделать для ускорения работы Ubuntu. Об этом в следующих статьях. Подписывайтесь на RSS — канал!
Отличного настроения, быстрой работы компьютера и с наступающим Новым годом!
В качестве приятной неожиданности сегодня видео о том, каким увидели уходящий год сотрудники компании Google.

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

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

Операционная система Ubuntu и любая другая ОС Linux, позволяет это сделать, так как некоторые параметры, выставленные по умолчанию, имеют не совсем оптимальные значения. Это стремления разработчиков к универсальности и работе на любом типе компьютерного "железа" в ущерб производительности.

Немного теории

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

По большей части современный файловые системы Ext3 и Ext4 обладают хорошим быстродействием и их более тонкая настройка не требуется. Более пристальное внимание следует уделить работе оперативной памяти и дисковой подсистемы в целом.

Любая операционная система Linux, в том числе и Ubuntu, устроена так, что практически одновременно использует для хранения каких-то временных данных, оперативную память и файл подкачки - swap . Этот файл подкачки размещается на жестком диске и нужен для разгрузки ОЗУ при ее заполнении. Благодаря ему, у пользователя появляется возможность запускать тяжеловесные приложения с небольшим объемом оперативной памяти, где часть информации хранится на жестком диске. Как говорится: "медленно, но верно". Это точно также как в бизнесе, кто захочет платить лишние деньги за не полностью используемые производственные ресурсы или при заказе рекламы в Екатеринбурге , заказчик не будет переплачивать лишние деньги за избыточную рекламу, полный эффект которой останется не востребованным.

Почему данные хранятся "...практически одновременно..." в swap и ОЗУ?

Потому что Ubuntu устроенна так, что при заполнении оперативной памяти на 40%, происходит ее высвобождение в файл подкачки. Если взять за "стандартный компьютер" - компьютер с 2 Гб оперативной памяти (большинство современных нетбуков обладают даже меньшим объемом памяти - 1Гб), то можно подсчитать, что 40% от всей памяти - это 819,2 Мб (1024Мб * 2 * 0,4 = 819,2 Мб). Интернет-браузер Google Chrome, к примеру, в среднем потребляет порядка 200-300 Мб ОЗУ. Остальные браузеры потребляют примерно столько же. Но очень редко можно встретить пользователя, который бы не пользовался, наверное, главной возможностью современных ОС - многозадачностью и не запускал бы несколько приложений одновременно.

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

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

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

Эта статья призывает к более оптимальной утилизации имеющейся ОЗУ, так как по умолчанию в ОС держится большое количество ОЗУ просто не используемой, тем самым "тормозя" операционную систему.

Ускоряем работы Ubuntu с дисковой подсистемой

Вся работа по ускорению Ubuntu для удобства разбита не несколько частей:

  1. Редактируем конфигурационный файл /etc/sysctl.conf :

    sudo nano /etc/sysctl.conf

    1. В самом низу этого файла есть параметр vm.swappiness , который как раз и отвечает за распределение оперативной памяти. По умолчанию он имеет значение 60, показывая, что в любом случае должно оставаться 60% свободной оперативной памяти. Для рабочих станций рекомендуется изменить это значение на 10. Должно получится так:

      vm.swappiness=10

      Если этого параметра нет, то необходимо его добавить в самом конце открытого конфигурационного файла!

    2. В конце этого файла рекомендуется еще добавить параметр vm.vfs_cache_pressure , который указывает размер используемого дискового кэша.

      Если Вы обладатель компьютера с SSD-накопителем , то для Вас будет актуален параметр:

      vm.vfs_cache_pressure = 50

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

      vm.vfs_cache_pressure = 1000

  • Если в своей повседневной работе Вы часто используете только несколько приложений, то можете воспользоваться их кэшированием. Для этих целей есть дополнительный демон preload , который собирает статистику "ваших предпочтений" и держит часть наиболее востребованных файлов запускаемых приложений в оперативной памяти, тем самым избавляя Вас от утомительных ожиданий долгой первоначальной загрузки.

    Чтобы воспользоваться демоном preload в Ubuntu, необходимо его установить:

    sudo apt-get install preload

    Дальнейшей дополнительной настройки preload не требует.

  • После всех манипуляций необходимо перезагрузить операционную систему или выполнить:
  • Дополнительная информация

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

    echo 10 > sudo /proc/sys/vm/swappiness

    echo 1000 > sudo /proc/sys/vm/vfs_cache_pressure

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

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

    Случайные 7 статей:

    Комментарии

    1. myr4ik07
      29 Август, 14:35
    2. myr4ik07
      29 Август, 14:43

      P.S. К тому же, сразу прирост производительности, используемый сие демон, не почувствует!

    3. Андрей
      29 Август, 15:07
    4. Danil
      29 Август, 19:49

      от 1 до 100 – это значение vm.swappiness, а 1000 для vfs_cache_pressure – справедливо. Mut@NT – спасибо за статью!

    5. Mut@NT
      30 Август, 11:54

      myr4ik07: Пожалуйста, источники в студию …

      О чем Вы? Статья написана с использованием большой кучи блогов и сайтов, которые копипастят контент откуда непоподя

      myr4ik07: Кстати, Вы забыли упомянуть, что работа демона preload будет заметна,если у использующего,будет большой объем, физического размера оперативной памяти.
      P.S. К тому же, сразу прирост производительности, используемый сие демон, не почувствует!

      Спасибо, за уточнение. Добавлю.

      Андрей: vfs_cache_pressure=1000 это ошибка? У этого параметра значения от 1 до 100 допустимы, и по умолчанию как раз 100 в ubuntu. Чем меньше значение, тем больше кэшируется.

      Вроде как у него нет ограничения.

    6. selius
      31 Август, 10:01

      Ubuntu 10.04, сделал по инструкции – не знаю есть ли хоть какой прирост производительности (или это скорее самовнушение) – уже как больше суток, полет нормальный! Хуже точно не стало =)
      За статью – спасибо!

    7. Mut@NT
      31 Август, 11:45

      selius: Ubuntu 10.04, сделал по инструкции – не знаю есть ли хоть какой прирост производительности (или это скорее самовнушение) – уже как больше суток, полет нормальный! Хуже точно не стало =) За статью – спасибо!

      Смотря как работаете с ОС. Если У Вас большое количество ОЗУ изначально, то, возможно, ее заполнение и не доходило до отметки разгрузки в файл подкачке.

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

    8. Комполюбитель
      31 Август, 05:42

      Я рушил проблему проещ, но дороже. Полностью отключил swap, убрал раздел подкачки и нарачтил оперативку до 8 Гб. теперь никаких лагов из-за сброса подкачки на диск

    9. Леана
      9 Июль, 02:02

      Делала по описанию, но в моем случае особого прироста не заметила, а вот apt-get install zram, вродь как полезнее оказался. Если кто захочет поэкспериментировать, то swappiness придется вернуть взад на 60, или не меньше 40, иначе фокус не получится.

    Т ем не менее, если вы используете тяжелое окружение рабочего стола, как Unity, скорость может упасть. Эта статья содержит список из 4 простых советов, которые можно применить, чтобы ускорить систему Ubuntu 16.04. Вы должны увидеть повышение скорости на слабых аппаратных средствах и в Virtualbox. Он также помогает, даже если вы установили на твердотельном накопителе.

    Сделать компьютер быстрее снова!

    1. Отключить запуск приложений

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

    Sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

    Затем запустите приложение запуска из Unity Dash.

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

    Вот некоторые приложения, которые вы можете найти нежелательными.

    Доступность менеджера профилей

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

    Монитор резервного копирования

    Это deja-dup-monitor. Если вы не хотите создать резервную копию, отключите его.

    Caribou

    Отключите его, если вам не нужно экранная клавиатура.

    Desktop Sharing

    Отключите его, если вам не нужно никому удаленно управлять системой Ubuntu. У вас еще есть возможность дистанционного управления компьютером друга через VNC.

    Gnome Software

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

    Orca для чтения с экрана

    Отключите его, если вы все еще можете видеть прекрасный мир.

    Личный общий доступ к файлам

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

    Обновление Notifier

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

    2. Отрегулируйте файл подкачки

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

    Давайте сделаем небольшой эксперимент: Загрузите систему Ubuntu 16.04, откройте несколько приложений, таких как Firefox, LibreOffice, Mozilla Thunderbird, Evince для просмотра документов, а затем что-нибудь с ним сделайте. Не приостановить или спящий режим его. Затем через несколько часов вернуться в Ubuntu 16.04. Вы увидите, что эти приложения реагируют плохо к кликам мыши, потому что они простаивали и выгружены на жесткий диск.

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

    Это происходит из-за значения swappiness по умолчанию Ubuntu. Swappiness является параметром ядра , который контролирует, как часто Linux Swap из нерабочих процессов перемещает в пространство подкачки на жестком диске.

    Значение swappiness находится между 0 ~ 100 . Более низкое значение означает, что Linux будет использовать пространство подкачки меньше, в то время как более высокое значение приводит к Linux использовать пространство подкачки чаще. Значение по умолчанию на Ubuntu это 60 что означает, когда ваш компьютер использует 40% физической памяти, после чего ядро Linux начинает выгружать.

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

    Sudo sysctl vm.swappiness=10

    Не добавляйте пробелы перед и после знака равенства. Этот параметр не является постоянным.

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

    Sudo nano /etc/sysctl.d/99-sysctl.conf

    В конце этого файла, добавьте следующую строку.

    Vm.swappiness=10

    Сохраните и закройте этот файл. (Нажмите Ctrl + O, чтобы сохранить, нажмите Ctrl + X, чтобы выйти) Этот также применимо к вашему серверу Ubuntu 16.04.

    3. Предзагрузка часто используемых приложений

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

    Установить предварительную нагрузку на Ubuntu 16.04 с помощью команды:

    Sudo apt install preload

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

    Systemctl status preload

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

    Sudo systemctl start preload

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

    4. Отключить необычные эффекты

    Необычные эффекты могут замедлить работу компьютера. Мы можем использовать compizconfig-settings-manager , чтобы отключить их.

    Sudo apt install compizconfig-settings-manager

    Запустите его с помощью Unity Dash. Затем нажмите на вкладку Effects слева и отключите эффекты, которые вам не нравятся. Вы можете отключить все эффекты, если вы хотите.

    Вы также можете отключить размытие фона с помощью инструмента Unity Dash , чтобы сделать Dash более отзывчивыми.

    Sudo apt install unity-tweak-tool

    Затем откройте его, выберите вкладку search , и установите размытия фона выключенным.

    Как Вы предпочитаете?

    До

    После

    Бонус Подсказка: Узнайте виновника медленной загрузки

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

    Systemd-analyze blame

    Как вы можете видеть из приведенного выше экрана, mnt-pi.mount и vboxadd.service являются виновниками на моем компьютере. Я знаю, что mnt-pi.mount отвечает за монтаж NFS для моего Raspberry Pi, но мне не нужен NFS больше, так что я могу безопасно удалить NFS монтажа из файла /etc/fstab . Я также знаю, что vboxadd service это полезно только для виртуальных машин, так что я могу отключить эту службу на моей физической машине.

    Sudo systemctl disable vboxadd.service

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

    Systemd-analyze time

    Другие способы ускорить Ubuntu 16.04

    Вы знаете другие способы, которые могут ускорить Ubuntu 16.04? Поделитесь своими советами в комментариях ниже.