31.07.2023

Ubuntu 14.04 оптимизация под слабые. Настройка Swappiness и кеширования в Linux. Программное обеспечение Gnome


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

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

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

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

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

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

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

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

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

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

cat /proc/sys/vm/swappiness

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

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

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

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

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

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

sudo sysctl vm.swappiness=

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

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

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

sudo gedit /etc/sysctl.conf

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

vm.swappiness=0 vm.vfs_cache_pressure = 1000

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

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

sudo sysctl -p

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

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

sudo apt-get install htop


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

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

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

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

    Пока наши братья-гентушники неделями компилят свою систему, мы применим парочку советов и точно обгоним самого быстрого пингвина на планете. Убунту и так шла практически вровень с 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
    • Применяй советы по одному, каждый раз желательно перезагружать систему. Проверяй влияние совета временем, не торопись.
    • Чудес не бывает. Советы либо задействуют свободную память, либо отключают чтото для ускорения.

    Ускорение ЗАГРУЗКИ ubuntu
    После загрузки ядра, в ubuntu начинает загружаться образ рам-диска (initial ramdisk, initrd). Если распаковать этот образ, можно убедится, что там очень много чего лишнего и распакованный он занимает чуть-ли не 25 мегабайт. Поэтому, желательно пересобрать все initrd-образы в системе только с необходимыми модулями. Но все не так сложно, как кажется. Открываем файл:

    Sudo nano /etc/initramfs-tools/initramfs.conf

    там строчку

    MODULES=most

    и заменяем ее на:

    MODULES=dep

    Все, теперь надо запустить команду:

    sudo update-initramfs -k all -u

    Она пересоберет для всех установленных ядер все найденные образы initrd. В будущем, для новоустановленного ядра, initrd будет генерироваться уже сам с этими параметрами, так что это нужно сделать всего один раз. Теперь файлы initrd будут весить примерно по 3 мегабайта запакованными и по 6-7 мегабайт – распакованными. Это частично сократит время загрузки и при этом не повлияет отрицательно на систему.

    Скорость загрузки ОС также напрямую зависит от файловой системы, на которой стоит ОС. Дело в том, что с мелкими файлами лучше работает новая ext4 и старый reiserfs. Собственно, в дистрибутиве больше всего мелких файлов. Поэтому, рекомендую полностью переходить на ext4 – это намного уменьшит скорость не только загрузки ОС, но и саму работу с системой, программами и файлами.

    Так-же, можно отключить предварительную проверку разделов жесткого диска во время загрузки ОС. Журналируемые файловые системы уже давно безопасны и проверять их желательно лишь после достаточно долгого использования, после небезопасного выключения компьютера, после глюков, ну и по желанию собственно. Отключать надо в файле “/etc/fstab”. Там в конце каждой строчки стоят две цифры. Нам нужна только последняя цифра, она и отвечает за проверку жесткого диска во время запуска ОС. Меняем эту цифру на ноль на нужных файловых системах. И все, больше ничего трогать не нужно.

    При загрузке Ubuntu автоматически устанавливается политика Ondemand — то есть саморегуляция с помощью ядра. Естественно частота процессора падает до минимальной, что полностью не устраивает. Но можно по умолчанию включить политику Performance (максимальная частота процессора)

    Выполняется команда

    Sudo update-rc.d -f ondemand remove

    На системе атлон64. Тормозил thunderbird, firefox. В режиме перфоманс эти программы работают заметно быстрее, взято

    ++++++++++++++++++++++++++++++++++++++++

    УСТАНОВКА prelink ДЛЯ УСКОРЕНИЯ ЗАГРУЗКИ СИСТЕМЫ

    Установка:

    Sudo apt-get install prelink

    Теперь открываем файл настроек

    Sudo nano /etc/default/prelink

    и меняем значение опции « PRELINKING » с «unknown» на «yes», вот так: PRELINKING =yes

    Так же программа установит скрипт ежедневного запуска prelink, но в первый раз нужно запустить его вручную:

    Sudo /etc/cron.daily/prelink

    потом его будет незаметно, он станет включаться автоматически и ГОТОВО!

    ++++++++++++++++++++++++++++++++++++++++

    ОПТИМИЗАЦИЯ системы при работе с ПАМЯТЬЮ

    Настройка /proc/sys/vm/swappiness и /proc/sys/vm/vfs_cache_pressure .
    В псевдофайле swappiness хранится значение (в целых процентах), это уровень свободной памяти, при котором система начнет активно сбрасывать память в своп. Значение по умолчанию: 60. Изменяется значение от 0 до 100.
    В псевдофайле vfs_cache_pressure хранится значение — уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Пределов значения, к сожалению не знаю.

    Если вы хотите ускорить работу системы (особенно те, кому жалко не задействованой оперативки во время работы системы), то измените значение системы, примерно, так:
    swappiness = 10 , vfs_cache_pressure = 1000:

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

    sudo nano /etc/sysctl.conf

    добавим в конец файла строки

    vm.swappiness = 10 vm.vfs_cache_pressure = 1000

    ++++++++++++++++++++++++++++++++++++++++

    Можно отключить загрузку системы в графическом режиме, для ubuntu 9.10 и 10.04

    Sudo nano /etc/default/grub

    В этом файле в этой строке данная строка приводится к такому виду

    GRUB_CMDLINE_LINUX_DEFAULT=»quiet ipv6.disable=1″

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

    Sudo update-grub

    и готово.

    ++++++++++++++++++++++++++++++++++++++++

    Если /boot идет отдельным разделом, то можно закоментировать его автоматическое монтирование при старте системы в файле /etc/fstab

    ++++++++++++++++++++++++++++++++++++++++

    Еще можно задействовать утелиту rcconf для управления демонами системы
    Назначение сервисов (дальнейшая информация взята с этого сайта:

    acpi-support – отметка на S-уровне;
    acpid – сервис для управления питанием, необходим и для ноутбуков, и для настольных компьютеров. Оставляем как есть;
    alsa-utils – S-уровень;
    anacron – подсистема планировщика cron, которая выполняет любые задания cron, не выполненные вовремя. Можно выключить;
    apmd – устаревший сервис для таких же компьютеров. Отключаем;
    atd – планировщик задач, наподобие cron. Можно отключать;
    binfmt-support – поддержка ядром других форматов бинарных файлов. Оставьте как есть;
    bootlogd – оставьте как есть;
    cron – оставьте включенным;
    cupsys – подсистема управления принтерами. Если у вас нет принтера – отключайте;
    dbus – система Message bus system. Очень важная служба, оставьте ее включенной;
    dns-clean – очистка информации о dns, актуальна для dial-up. Не грех и отключить.
    gdm – менеджер рабочего стола Gnome. Не трогайте;
    gpm – поддержка мыши в режиме консоли. Включите для службы runlevel 1 и 2;
    halt – не изменяйте;
    hdparm – скрипт настройки винчестера. Снимите отметки с 2, 3, 4, 5 уровней запуска, и добавьте S runlevel. Чем раньше будет запущена эта служба, тем лучше.
    hotkey-setup – назначение “горячих клавиш” на ноутбуках. Поддерживаемые производители: HP, Acer, ASUS, Sony, Dell, и IBM. Нужно это или нет – решайте сами:
    hplip – подсистема печати и изображений HP. Можно выключить;
    klogd – Оставьте службу включенной;
    linux-restricted-modules-common – проверьте, есть ли в вашей системе какие-либо загруженные ограниченные (restricted) модули. Они могут быть найдены в /lib/linux-restricted-modules;
    makedev – не выключайте;
    module-init-tools – загружает дополнительные модули из файла /etc/modules. Вы можете исследовать файл /etc/modules, и посмотреть есть ли здесь какие-то модули, которые Вам не нужны. Пусть будет включено;
    networking – устанавливает сетевые интерфейсы и настраивает информацию dns в процессе загрузки, сканируя файл /etc/network/interfaces. Оставьте включенным;
    powernowd – клиент для управления частотой процессора (cpufreq). В основном предназначен для ноутбуков, поддерживающих технологию CPU speed stepping. Желательно оставить как есть;
    ppp and ppp-dns – нужно для обеспечения модемного подключения. Если dial-up’ом не пользуетесь, смело отключайте;
    readahead – один из предзагрузчиков (“preloader”). При запуске этот сервис загружает некоторые библиотеки в память, так что некоторые программы запускаются быстрее. Хотя,на самом деле, отключение службы никак не отразится на работе системы;
    reboot – не изменяйте;
    rmnologin – удаляет nologin если таковой будет найдет. В общем, малополезная служба, отключаем;
    rsync – демон rsync. Можно отключить;
    sendsigs – посылает сигналы перед перезагрузкой или выключением. Оставьте все как есть;
    single – активирует однопользовательский режим. Оставьте как есть;
    stop-bootlogd – останавливает bootlogd на 2,3,4,5 runlevel уровнях. Оставьте как есть;
    sysklogd – не трогайте;
    udev – поддержка файловой системы userspace dev. Лучше оставить службу включенной;
    umountfs – оставьте как есть;
    usplash – “красивый” загрузочный экран, можно отключать;
    vbesave – инструмент настройки BIOS’a видеокарты. Оставьте включенным. ondemand Контролирует частоту процессора, в режиме ondemand — уменьшает частоту, когда процессор используется слабо и повышает при возникновении нагрузки. Т.к. действует с задержкой — приводит к легким(или сильным) тормозам, лучше оставить выключенным если не вопрос пара дополнительных ватт энергии.


    © 2024
    zane-host.ru - Программы. Компьютеры. Сетевое оборудование. Оргтехника