Настройка Swappiness и кеширования в Linux. Ускорение работы Ubuntu с дисковой подсистемой Ускорение убунту

  • 01.10.2021

Любая операционная система, основанная на ядре 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, иначе фокус не получится.

    Пользователям Linux по определению доступна более производительная система, в сравнении с Windows. Однако, если использовать тяжеловесное окружение рабочего стола, такое как Unity, например, производительность может несколько пострадать.

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

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

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

    Положительный результат будет хорошо заметен на старых маломощных компьютерах или на VirtualBox. Советы актуальны и эффективны, даже если ваша Ubuntu установлена на SSD.

    1. Уберите из автозагрузки ненужные программы.

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

    Однако, многие автоматически запускаемые программы скрыты, и для того, чтобы их увидеть, нужно выполнить следующую команду:
    sudo sed -i "s/NoDisplay=true/NoDisplay=false/g" /etc/xdg/autostart/*.desktop

    Теперь откройте "Автоматически запускаемые приложения" из Unity Dash...

    И просто снимите галочки с ненужных пунктов.

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

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

    Backup Monitor (Резервное копирование).
    Создание резервных копий при помощи deja-dup-monitor. Если вы не планируете делать бэкапы каких-либо данных - смело отключайте.

    Desktop Sharing (Удаленное управление рабочим столом).
    Предназначено для входящих VNC-подключений. Если знаете, что справитесь со своей системой без чьей-либо помощи, значит можно отключить. Способность самому выступать в качестве удаленного помощника и управлять другими компьютерами через VNC никуда при этом не исчезает.

    Gnome Software (Центр программного обеспечения).
    Можно отключить, если предпочитаете устанавливать программы через терминал, без помощи Центра ПО с графическим интерфейсом.

    Personal File Sharing (Обмен личными файлами).
    Нужно оставить только в случае необходимости передачи файлов через Bluetooth.

    Update Notifier (Уведомление об обновлениях).
    Если не хотите получать уведомления о доступных обновлениях, значит можно отключить.

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

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

    Проведем небольшой эксперимент: запустите вашу систему, откройте несколько программ, скажем: Firefox, LibreOffice, Mozilla Thunderbird, Evince... и просто оставьте их открытыми, не выполняя никаких действий. Не переводите систему ни в спящий, ни в ждущий режимы. Вернитесь через несколько часов и обратите внимание, насколько неповоротливыми стали запущенные программы, как медленно они откликаются на наши действия мышкой. Всё потому, что они перешли в режим простоя (бездействия), и система отправила их в swap, то есть в специально отведенное место на жестком диске.
    При помощи System Monitor (Диспетчера задач) можно обнаружить, что Ubuntu использует swap, независимо от наличия большого количества свободной оперативной памяти.
    Это связано с настройками swappiness по-умолчанию. Swappiness - это параметр ядра, который отвечает за то, насколько часто Linux будет отправлять бездействующие приложения в swap, то есть на жесткий диск.

    Значение swappiness может быть установлено в диапазоне от 0 до 100. Низкие значения предписывают использовать подкачку реже, высокие - чаще. Значение по-умолчанию в Ubuntu равно 60. Это значит, что при достижении расхода RAM в 40%, ядро Linux активирует применение swap.

    Проверить текущее значение можно с помощью команды:
    cat /proc/sys/vm/swappiness

    Как ускорить работу Ubuntu? Рекомендуется установить более низкое значение swappiness, чтобы ядро использовало оперативную память в максимально возможном объеме. Например, чтобы установить значение 10, следует выполнить такую команду:
    sudo sysctl vm.swappiness=10

    Не ставьте пробелов до или после знака "=". Эта команда указывает ядру задействовать swap только в том случае, когда память занята на 90%. Эта настройка действует до перезагрузки.

    Чтобы действие конфигурации было постоянным, нужно отредактировать специальный файл.
    sudo nano /etc/sysctl.d/99-sysctl.conf

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

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

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

    Установить preload на Ubuntu 16.04 можно с помощью команды:
    sudo apt install preload

    По завершении установки, демон preload запустится автоматически, можно убедиться в этом, выполнив команду:
    systemctl status preload

    Если, по каким-то причинам, он окажется незапущенным, выполните команду:
    sudo systemctl start preload

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

    4. Отключите эффекты.

    Эффекты, без сомнения, радуют глаз, разбавляя собой скучное рабочее пространство. Однако, для их работы также необходимы ценные системные ресурсы. Как ускорить Ubuntu 16.04? При помощи compizconfig-settings-manager эффекты можно отключить, увеличив тем самым производительность.
    Установить compizconfig-settings-manager можно с помощью команды:
    sudo apt install compizconfig-settings-manager

    Запустите его из Unity Dash, затем выберите слева раздел "Эффекты" и отключите те, которые вам не нужны. Если захотите, можно отключить абсолютно все.

    Также можно выключить размытие заднего плана в Unity Dash при помощи Unity Tweak Tool. Это сделает Unity Dash более отзывчивым.

    Установка Unity Tweak Tool:
    sudo apt install unity-tweak-tool

    Установив, откройте его и выберите вкладку "Поиск", затем переключите кнопку "Размытие заднего плана" (Background blur) в состояние "Выкл." (OFF).

    Вообще, многим нравится прозрачный фон, а вам?

    После:

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

    Можно узнать, сколько времени необходимо для старта каждой из загружаемых служб, выполнив следующую команду:
    systemd-analyze blame

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

    Отключаем:
    sudo systemctl disable vboxadd.service

    Проверяем время загрузки:
    systemd-analyze time

    После:

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

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

    Если сейчас сравнить новые версии десктоп дистрибутива 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.

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

    Стал заметно тормозить. Это сильно раздражает, так как работаю я часто очень быстро, на автомате, и любые тормоза просто сбивают ритм. Но почему линукс может тормозить? Как ускорить linux? Как сделать оптимизацию линукс?

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

    1. Оптимизация автозагрузки Linux.

    Первое, на что нужно обратить внимание - это на то, что у нас загружается при запуске системы. Идем в МЕНЮ - ПАРАМЕТРЫ - ЗАПУСКАЕМЫЕ ПРИЛОЖЕНИЯ.

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

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

    Знаете ли вы, что по умолчанию в вашем линукс могут быть установлены многие серверы: сервер печати, сервер samba, сервер apache, сервер ssh и так далее. Возможно, что они вам не нужны сто лет, то все эти процессы постоянно висят в памяти. Можно их просто отключить, но чаще всего ненужные сервера проще удалить. Как их найти?

    Открываем Synaptic и в поиске забиваем слово server :

    Смотрим, вчитываемся, что установлено и что нам реально не нужно - удаляем. Но не стоит удалять все подряд, если только знаете что это и зачем это. Я уже удалил многое ненужное, но скорее всего есть ещё много всякого мусора. Можно так же забить слово demon и посмотреть, какие службы установлены, но нам не нужны. Удалили? Идем далее...

    3. Отключение ненужных служб

    Раньше в Убунту в графической среде можно было отключать и включать службы, но потом ребята из Убунту решили, что нам, лузерам, это не нужно - вдруг отключат что то важное, а потом будут говорить, что Ubuntu глючная!

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

    Sudo apt-get install sysv-rc-conf

    Открываем терминал и через sudo даем команду sysv-rc-conf:

    Sudo sysv-rc-conf

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

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

    Как ускорить Убунту?

    Почему именно Убунту? Просто для примера. В Ubuntu как рабочее окружение использует их фирменное Unity. По моему опыту - тормоз ещё тот. Поэтому Убунту ускорить можно просто - установить более лёгкое рабочее окружение - XFCE4, E17, LXDE и так далее. А можно просто сразу скачать версию той же Убунту с легким рабочим столом, например, Lubuntu :

    Красиво и легко! Тут будет практически вся так же функциональность, может только меньше наворотов. Но нам они сильно нужны?

    И напоследок еще один вопрос:

    Какой линукс установить на старый компьютер?

    Вот тут не стоит надеяться на легкое рабочее окружение, тут нужен именно ЛЕГКИЙ линукс! Легкий внутри, а не только снаружи - запомните эту истину. Какие могут быть варианты? , Slackware, Slax и так далее. Тут нужно пробовать, так как за лёгкость придется чем то платить - а как вы хотели?


    Не нашли ответ на свой вопрос? Воспользуйтесь поиском...

    8 комментариев

    8 комментариев к статье “Оптимизация линукс - всё просто!”

      А у меня винда и не тормозит! Может у вас комп слабоват? Все-таки современные ОС разрабатываются и тестируются на современных процессорах с запасом оперативки.

      Lubuntu действительно быстрее работает. Но столкнулся там с какими то глюками. Всю таки я остановился на Ubuntu Gnome + Cairo-Dock
      Получается стабильно, без глюков. И достаточно быстро. Главное не ставить 64 битную на старый комп с 2-мя гигами памяти. 32-х битная будет работать намного быстрее.

      Согласен, все мини OS порой имеют скрытые недостатки. Но вот вчера было приятное исключение, ставил другу на ноутбук линукс, Минт ВООБЩЕ не пошел, что странно, а вот BackBox встал как родной и скорость СУПЕР! Хочу написать о нем обзор сегодня может.

      Пользовался одно время Ubuntu, потом, с выходом более новых версий мой комп просто перестал ее тянуть. Перешел на Debian и доволен, единственное что там плохо, это графическая среда и шрифты - в Убунту они лучше, но это пожалуй только один их плюс по-моему. Сейчас вышла 8 версия Дебиана, там можно установить любое рабочее окружение и практически любой софт, к которому ты привык.

      Кстати, ошибка в посте: не Pappy, а Puppy.

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

      За ошибку спасибо, поправил;)

      ну и если я обычный чайник,на что я буду опираться при удалении серверов?

      Чайники не должны заниматься серверами, это дело очень сложное и ответственное.

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

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


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

    Отключение Compiz

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

    $ sudo aptitude install
    compizconfig-settings-manager

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    $ sudo aptitude install preload

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

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

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

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

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

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

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

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

    $ sudo aptitude install sqlite3

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

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

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

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

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

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

    $ sudo shutdown -r +0

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

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

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

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

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

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

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

    $ mkdir ~/.compose-cache

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

    Подкачка Ubuntu

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

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

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

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

    Заключение

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

    Info

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