Как улучшить программным способом графику в убунту. Ускорение работы Ubuntu с дисковой подсистемой. Примечание по автозагрузке программ

18.05.2020 Новости 

Если сейчас сравнить новые версии десктоп дистрибутива Ubuntu например с версией 14.04, вы должны были бы увидеть, что дистрибутивы Linux стали более «прожорливыми», да новые версии получили проблему в виде Unity которая жрет оперативку как слон и если у вас оперативной памяти меньше 2гб, будет не сладко. В сегодняшнем материале мы обсудим несколько способов более оптимального решения возникшей проблемы которые бы позволили уменьшить апетиты в использовании оперативной памяти. Первый, конечно же - это выбор легкого дистрибутива (Xubuntu или же Lubuntu и прочих). Второй способ, в данном случае мы постараемся уменьшить потребления памяти без ограничения в функциональности работы дистрибутива, для опытов мы выбрали Ubuntu 16.04 LTS.

Введение

Если вы только установили систему на компьютер который имеет два гигабайта ОЗУ, после первого запуска система будет кушать не меньше 1 Гб памяти. Вроде и не критично, но очень много, если взять хотя-бы в сравнение более маленький дистрибутив и сравнить потребление памяти. А если и запустить браузер например с 5-6 вкладками, то ваши 2 ГБ быстро израсходуются и вы увидите первые косяки в производительности прочие зависания браузера итд.

Рассмотрим что нам нужно в функциональности, а что нет.

  • Прежде всего список демонов которые загружаются по умолчанию. Разработчики Ubuntu, попытались сделать минимум, но в нашей ситуации стоит обратить внимание на то, что в зависимости от степени использования дистрибутива, много функционала может быть вовсе лишним, что в итоге может быть отключено и не будет кушать оперативную память.
  • Так же стоит обратить внимание на приложения которые вы не используете. Разное ПО использует плагины, которые реализуются в большей части случаев в виде загружаемых библиотек. В данной ситуации не лишней будет тонкая настройка и отключение ненужного. Стоит вспомнить и о графической подсистеме компоненты которой не всем нужны отключив которые можно немного высвободить оперативной памяти.

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

Отключаем лишние службы / сервисы

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

Sudo systemctl list-units --type service

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

Список загружаемых сервисов systemd

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

Sudo systemctl disable apparmor.service

Apport - это служба которая предназначена для отправления отчетов об ошибках в Canonical. Да, вроде и полезный инструмент, но представьте ситуацию, у вас мобильный 3G интернет и это окно об ошибках постоянно маячит перед глазами, в данной ситуации имеет смысл отключить данную службу, иногда это окно уж очень слишком часто вылазит когда его не ждешь, я лично отключил сразу же после установки так как иногда оно просто выводит своими появлениями когда его не ждешь. Отключать ли вам, вы должны сами решить для себя. Для отключения набираем команду:

Sudo systemctl disable apport.service

Avahi - это демон который предназначен для обнаружения служб / компьютеров в домене.local. Вроде и удобная штука, но на практике, если у вас есть пара компьютеров в локальной сети, смысла держать этот демон активным нет, мoжете смело отключить:

Sudo systemctl disable avahi-daemon.service

CGManager предназначен для управления cgroup позволяя непривилегированным пользователям получать доступ к cgroup и предотвращая выход из текущего cgroup в родительский не исключение и привилегированные приложения. Если трезво мыслить, он может пригодиться лишь при создании вложенных контейнеров LXC, если вы их не используете и не пользуетесь песочницей, в которой все это может пригодиться для запуска программ, смело отключайте:

Sudo systemctl disable cgmanager.service

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

Sudo systemctl disable colord.service

ModemManager - это интерфейс, позволяющий реализовать подключение к сети интернет используя мoдемы, каналы связи (2G/3G/4G/CDMA), способы соединения (RS232, USB, Bluetooth) и методoв управления (AT, QCDM, QMI, MBIM). Если у вас кабельный интернет и вы не планируете использовать модем, отключайте:

Sudo systemctl disable ModemManager.service

Speech Dispatcher - это унифицированный API, который имеет предназначение для изменения порядка вызова синтезатора, так же позволяет предотвратить наложения звука при использовании нескольких приложений и воспроизведении в них звука одновременно. Если вы не планируете использовать синтезаторы речи, отключайте:

Sudo systemctl disable speech-dispatcher.service

Whoopsie - эта служба имеет те же корни что и Apport, если вы ее отключили, так же стоит и поступить с Whoopsie. Прежде всего откройте конфиг /etc/default/whoopsie здесь нам нужно изменить значение в параметре report_crashes замени true на false, сохраняем и после отключаем службу:

Sudo systemctl disable whoopsie.service

Отключение компонентов программ и графической подсистемы

Если отключить графическую подсистему, то ваша Ubuntu будет использовать на 40%. Первое, о чем стоит вспомнить и что может существенно облегчить работу в ubuntu, это отключение онлайн-поиска, который в большей части никому не нужен вовсе. Чтобы отключить вы можете перейти в «Параметры системы -> Защита и приватность -> Поиск» и переключить «Отображать результаты поиска в интернете». Или же воспользоваться консольным способом и выполнить в терминале следующую команду:

Gsettings set com.canonical.Unity.Lenses remote-content-search none

Стоит вспомнить и о композитном менеджере Compiz, который имеет апетит как у слона и кушает вашу память сильнее, чем все остальные процессы. Чтобы умерить его апетиты, вам потребуется установить CompizConfig Settings Manager(после установки запустить):

Sudo apt-get install compizconfig-settings-manager ccsm

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

  • «Команды», если вы для комбинаций клавиш не задаете никаких команд, можете смело отключать; в Unity он не используется и никаких побочных последствий не вызовет если отключить.
  • Enhanced Zoom Desktop - это подобия «Экранной лупы». Если вам не нужно подобное ПО, отключайте.
  • Desktop Wall - это всем известный куб Compiz в 2D. Если вы не планируете использовать куб, отключайте.
  • Viewport Switcher - этот плагин, предназначен для переключения рабочих столов. Он так же создает нагрузки и если для вас он не нужен, отключайте.
  • В группе «Эффекты» можно отключить плагин: Animations и «Проявление/исчезание окон». Я в данном разделе вовсе все отключил и работаю без анимаций и без лишних красот так как в этом нет необходимости.
  • Session Management - предназначен для сохранения/восстановления положений и размера окон в сессии в промежутках между входом/выходом пользователя). Если вам это не нужно, отключайте как и я поступил.
  • При отключении лишних мусорных плагинов лучше всего перейти в вкладку «Все» и отключать ненужно лишь листая вверх или вниз где все будет под рукой.

Отключаем Compiz плагины через ccsm

Возьмем к примеру приложение Network Manager. В списке плагинов данного приложения имеется ofono, в том случае если вы не используете мобильные соединения не пользуетесь модемами и у вас лишь кабельный интернет, можете смело отключать если вы не планируете пользоваться модемами. Чтобы отключить, в терминале выполните команду sudo gedit /etc/NetworkManager/NetworkManager.conf в строчке Plugin удалите ,ofono и сохраните изменения.

Рассмотрим более пристально плагины Network Manager

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

Для отключения нужно сделать следующее, перейти в каталoг /etc/xdg/autostart:

Cd /etc/xdg/autostart sudo sed --in-place "s/NoDisplay=true/NoDisplay=false/g" onboard-autostart.desktop

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

Sudo sed --in-place "s/NoDisplay=false/NoDisplay=true/g" onboard-autostart.desktop

Посмотрим, что можно отключить:

  • Если вы не пользуетесь GPG, то gnome-keyring-gpg можете отключать, все равно системные утилиты будут напрямую обращаться к связке ключей.
  • Indicator-bluetooth, если вы не используете и не планируете использование Bluetooth, отключайте.
  • Indicator-messages предназначен для отображение входящих сообщений в почтовых клиентах, если не пользуетесь почтовыми клиентами, можете отключать, если пользуетесь, соответственно не отключать.
  • Indicator-printers - отображает подключение принтеры, если у вас нет принтера, отключайте.
  • Onboard-autostart - предназначен для запуска экранной клавиатуры, если не используете, отключайте, я отключил не раздумывая так как не пользуюсь ей и не планирую.
  • Orca-autostart - это экранная лупа, тот же мусор что и клавиатура, если у вас зрение хорошее, отключайте.
  • Print-applet - плагин который отображает задания на печать, как я писал выше к indicator-printers, если нет принтера, отключайте.
  • Telepathy-indicator - плагин который отображает уведомления от этого клиента, если вы им не пользуетесь, отключайте.
  • Update-notifier - плагин для уведомлений об обновлениях. Если вам не лень самому запустить процесс обновления, можете отключать.
  • Zeitgeist-datahub - плагин который имеет роль коллектора который запускает разные собиратели информации по технологии Zeitgeist. Эта технология регистрирует активного пользователя в целях восстановления хронологии событий. Да, стоит напомнить, что эта технология очень хорошо связана с Unity, чтобы ее отключить придется выполнить дополнительные манипуляции.

В первую очередь нужно закрыть доступ записи в файл БД для процесса zeitgeist-daemon, откройте терминал CTRL+ALT+T и выполним следующую команду:

Chmod -rw ~/.local/share/zeitgeist/activity.sqlite

Проверим, что этот процесс туда писать не может:

Zeitgeist-daemon --replace

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

Используем zRam для увеличения памяти

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

Для активации zRam, вам нужно установить следующие пакет:

Sudo apt-get install zram-config

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

Sudo swapon -s

Если все хорошо прошло, у вас на устройстве /dev/zram0 появится своп. По дефолту создается по одному на каждый процессор.

Вывод

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

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

Если у вас два гигабайта оперативной памяти, вместо нагрузочных приложений, например взяв офисный пакет LibreOffice Writer, вы можете заменить на более легкий AbiWord, вместо системного браузера который предустановлен по умолчанию Firefox, выберите более легкий, например Midori.

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

Изменим поведение 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

15 июля 2015

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

Автозагрузка программ в Ubuntu 14.04

Уже давно, в Убунту, есть графический интерфейс для управления автозапуском программ. Это программа "Автоматически запускаемые приложения" (gnome-session-properties ). Найти ее можно в главном меню Dash. Но в этой программе отображаются не все автоматически запускаемые программы. Часть из них скрыта. Чтобы это исправить нужно, в терминале, выполнить две команды:

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

sed -i "s/NoDisplay=true/NoDisplay=false/g" ~/.config/autostart/*.desktop

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

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

Примечание по автозагрузке программ

В Ubuntu используется два типа автозагрузки:

  1. Автозагрузка вместе с графической оболочкой (Unity, GNOME и т.п.).
  2. Автозагрузка вместе с ядром системы, в текстовом режиме.

Программа "Автоматически запускаемые приложения" управляет первым типом загрузки. Физически же такая загрузка выполняется через.desktop файл программы (аналог ярлыков Windows), который помещается в одну из двух папок:

  1. /etc/xdg/autostart
  2. ~/.config/autostart

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

Можно в эти папки копировать ярлыки нужных программ даже вручную. Ярлыки всех доступных программ размещены в папке /usr/share/applications (из этой папки их берет Dash). После копирования ярлыка в нем нужно для свойства "X-GNOME-Autostart-enabled " указать значение true.

Предварительная загрузка программ на старте Ubuntu

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

Во многих советах по оптимизации Ubuntu упоминают программу preload . Ее установку можно выполнить через терминал:

sudo apt-get install preload

sudo touch /var/lib/preload/preload.state

sudo chmod 644 /var/lib/preload/preload.state

/etc/init.d/preload restart

Однако прямо "из коробки" в Ubuntu устанавливается еще одна программа для этой же задачи - ureadahead . Нужно только включить ее автозапуск.

Примечание

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

Уменьшить размер системных журналов (логов) Ubuntu

Ubuntu ведет целую кучу журналов. Как системных, так и журналов отдельных программ и служб.

Как правило все эти журналы хранятся в папке /var/log . Если эта папка размещена на разделе root (/) то в некоторых случаях возможно такое увеличение размера этой папки, когда будет забито все свободное место на разделе root, вплоть до невозможности запуска операционной системы. Это нетипичная ситуация, но такое случается.

Поэтому лучше настроить систему хранения журналов таким образом, чтобы снизить объем хранимой информации.

Лучше это сделать через настройку специальной программы logrotate . Эта программа удаляет архивные копии журналов с указанной периодичностью. Настройки программы хранятся в папке /etc/logrotate.d . Каждый файл в этой папке определяет управление журналами конкретной программы. Например файл /etc/logrotate.d/rsyslog это управление системными журналами. Для уменьшения размера хранимых журналов, в этих файлах нужно указать параметры rotate 0 и daily . Можно также добавить и ограничение по размеру журнала, например size 10M (10 мегабайт).

sudo gedit /etc/logrotate.d/rsyslog

И затем отредактировать этот файл. Так же можно сделать с другими файлами в этой папке. Можно изменить глобальные настройки для программы logrotate , через файл /etc/logrotate.conf .

После изменения настроек ротации журналов, можно удалить все старые журналы (логи). Команда в терминале:

sudo find /var/log -type f -name "*.gz" -delete

Tmp папку в оперативную память

Можно переместить папку временных файлов в оперативную память. Через редактирование файла fstab:

sudo gedit /etc/fstab

и добавить строку tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

Однако делать это нужно с осторожностью.

Во-вторых в этой папке какие-то программы могут хранить данные, которые они используют после перезапуска системы.

Использование swap на диске

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

sudo gedit /etc/sysctl.conf

и в конец файла добавить строку: vm.swappiness=10

Затем выполнить перезагрузку параметров: sudo sysctl -p

Параметр vm.swappiness=10 указывает, что дисковый своп будет использован при заполнении оперативной памяти на 90%.

Изменение параметров кэширования записи на диск

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

Основные параметры:

  • vm.dirty_background_ratio - размер оперативной памяти для размещения подготовленных для записи страниц кэша.
  • vm.dirty_ratio - размер оперативной памяти для размещения общего кэша записи.

Вспомогательные параметры:

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

Все эти параметры записываются в файл sudo gedit /etc/sysctl.conf.

Пример 1. Увеличение размера кэша записи (ускорение работы системы):

  • vm.dirty_background_ratio = 50
  • vm.dirty_ratio = 80

Пример 2. Уменьшение размера кэша записи:

  • vm.dirty_background_ratio = 5
  • vm.dirty_ratio = 10

Узнать текущие значения этих параметров можно командой sysctl -a | grep dirty .

Изменять эти параметры нужно с осторожностью. Четко понимая их взаимное влияние, их связь с размером оперативной памяти, а также возможные побочные эффекты.

Увеличение размера кэша или интервалов времени может привести к потере данных при отключении питания или критическом сбое системы.

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

Ускорение меню Dash

Можно отключить поиск в Интернет-источниках когда вы пишите что-то в поисковой строке меню Dash. Через графический интерфейс: "Настройки - защита и приватность - поиск: отображать результаты поиска в Интернет".

Или через терминал: gsettings set "com.canonical.Unity.Lenses" remote-content-search none.

Кроме этого можно отключить и поиск коммерческих предложений в онлайн-магазинах. Команда в терминале:

gsettings set "com.canonical.Unity.Lenses" disabled-scopes "["more_suggestions-amazon.scope","more_suggestions-u1ms.scope","more_suggestions-populartracks.scope", "music-musicstore.scope","more_suggestions-ebay.scope", "more_suggestions-ubuntushop.scope","more_suggestions-skimlinks.scope"]"

Добавить кодировку Windows в текстовый редактор Gedit

Чтобы не было "кракозябр", при открытии текстовых файлов Windows, в редакторе Gedit нужно добавить кодировку Windows-1251. Команда в терминале:

gsettings set org.gnome.gedit.preferences.encodings auto-detected "["UTF-8", "WINDOWS-1251", "CURRENT", "ISO-8859-15", "UTF-16"]"

Скроллбары Unity традиционного вида

По умолчанию, в Unity, скроллбары скрываемые. Но можно сделать чтобы они были видны постоянно. Команда в терминале:

gsettings set com.canonical.desktop.interface scrollbar-mode normal

Простой MP3 плеер под Ubuntu

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

sudo apt-get remove rhythmbox

sudo apt-get install Audacious

Audacious небольшой плеер без лишних наворотов:

sudo apt-get install qmmp

Добавление клавиатурных сокращений для запуска программ

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

В секции "Дополнительные комбинации" можно добавлять свои команды запуска и связывать их с клавишами.

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

Свернуть все окна (Открыть Рабочий стол) в Ubuntu

В Ubuntu 14.04, по умолчанию, свернуть все открытые окна можно с клавиатуры: Ctrl + Win + D . Кроме этого можно добавить кнопку на панель запуска, которая будет выполнять это же действие. Это делается через графический апплет "Настройки - Оформление - Режим":

Сочетание клавиш Ctrl + Win + D , на мой взгляд, неудобно. В Windows используется Win + D (такое сочетание было и в 11-х версиях Ubuntu). Для того чтобы изменить это сочетание нужно установить программу compizconfig-settings-manager . Затем запустить ее и в разделе "Рабочий стол" открыть "Ubuntu Unity Plugin ". Параметр "Show desktop " определяет сочетание клавиш для этого действия:

Для энтузиастов

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

gsettings

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

Команда gsettings help выдаст список параметров. Например gsettings list-recursively выдает общий список схем, ключей и текущих значений.

dconf

Графическая программа. Также позволяет изменять системные настройки. Эту программу нужно устанавливать (sudo apt-get install dconf ).

Т ем не менее, если вы используете тяжелое окружение рабочего стола, как 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? Поделитесь своими советами в комментариях ниже.

В целом пользователи 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 .