Для тех ,кто решил зарегистрироваться на форуме «Беседка» !
Категорически запрещена регистрация  с одноразового и временного e-mail !Такие пользователи будут отправляться в бан без объяснения причин.
После регистрации необходимо активировать свою учетную запись .Если Вы в почте не обнаружили письмо с активацией рекомендуется проверить папку «Спам».
С уважением
 Администрация форума

Автор Тема: Оптимизация и ускорение Ubuntu Linux  (Прочитано 7120 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Andrei_KO

  • *
  • Сообщений: 13
  • Имя : Андрей

Оптимизация и ускорение Ubuntu Linux
« : 29 Декабря 2012, 12:51 »
Оптимизация Initramfs
Initramfs - это временная файловая система, использующаяся ядром при начальной загрузке. Загрузчик загружает в память ядро и образ initramfs, и начальная загрузка системы происходит из этого образа. Соответственно, чем меньше лишнего в этом образе - тем быстрее будет загружаться система и тем меньше она будет требовать памяти на начальном этапе.

Нужно заменить:
в /etc/initramfs-tools/initramfs.conf строку MODULES=most на MODULES=dep
Далее:
sudo update-initramfs -k all -u

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

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

Для этого открываем файл:
sudo nano /etc/init.d/rc

там находим строчку CONCURRENCY=makefile и меняем на CONCURRENCY=shell
Сохраняем файл (Ctrl+O), имя файла не изменяем, выходим из текстового редактора nano (Ctrl+X).

Перестроение readahead

Любая стандартная установка Ubuntu со временем претерпевает изменения в количестве установленных и загружаемых во время старта ОС сервисов. Списки файлов в этом случае становятся неактуальными и требуют обновления.
Параметр ядра profile позволяет перестроить списки предварительно загружаемых файлов. Желательно при появлений новых версий ядер, однократно во время загрузки нажать клавишу для входа в меню загрузчика, далее нажать клавишу "E" и добавить в конец списка параметров ядра слово "profile" (без кавычек). Клавишей F10 или сочетанием Ctrl + x продолжите загрузку, которая будет чуть дольше из-за перестроения списков readahead. В дальнейшем грузитесь как обычно, без параметра profile, но с выходом нового ядра, повторяйте процедуру для освежающего эффекта.

Отключите splash

Графический Ubuntu splash-screen, показываемый во время загрузки системы, требует время на свою загрузку и скрывает процесс загрузки.

Оптимизация GRUB 2:
в файле /etc/default/grub удалите из переменной GRUB_CMDLINE_LINUX_DEFAULT слова quiet и splash
Не забудьте применить изменения командой:
sudo update-grub2

Ускорение Ubuntu программ с помощью preload

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

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


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

Как показывают данные ускорения можно добиться, если вы часто открываете одни и те же программы.
По личным ощущениям, программы которые я часто использую тоже ускорились, например, Google Chrome без preload запускался 4-5 сек, с preload практически мгновенно.

Нужно просто установить preload:
sudo apt-get install preload

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

Если у вас SSD диск, в котором как известно нет вращающихся блинов и считывающих головок, то (желательно):
в /etc/preload.conf изменить параметр и привести его к виду sortstrategy = 0
Этим самым вы прикажете не производить сортировку очереди запросов, так как для SSD это не имеет смысла.

Перезапустите preload:
sudo /etc/init.d/preload restart

Минусы: если у вас действительно мало ОЗУ, то возможно, не стоит устанавливать preload. Пусть ваш компьютер работает в режиме «запустил программу — поработал — закрыл программу и освободил ОЗУ»

В ОС Windows Vista и выше эта фича называется Superprefetch (суперфича - классное название).

Подкачка Ubuntu

В современных операционных системах используется понятие «подкачка страниц» - это процесс, который при нехватке ОЗУ вытесняет неиспользуемые страницы памяти в область, называемой в MS Windows файл подкачки pagefile.sys, а в Linux раздел подкачки swap. Когда страница снова нужна ее загружают обратно в ОЗУ.
Что «файл подкачки» MS Windows, что раздел swap Linux обитают на жестком диске и в разы медленнее ОЗУ, поэтому активное перемещение страниц туда-сюда-обратно замедляет работу компьютера в целом.

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

Изменим поведение Ubuntu в отношении использования ОЗУ и подкачки:

Есть такие интересные параметры /proc/sys/vm/swappiness и /proc/sys/vm/vfs_cache_pressure.
Первый swappiness хранит значение (в целых процентах), это уровень свободной памяти, при котором система начнет активно сбрасывать память в SWAP, значение по умолчанию: 60, (т.е. при загрузки 40% RAM начнется сбрасывание в SWAP) значение варьируется от 0 до 100.
Второй vfs_cache_pressure хранит значение - уровень выделяемой памяти под кэш.
значение по умолчанию: 100, пределами не задавался.

Чтобы заставить систему использовать SWAP только когда свободного RAM остается лишь 10% нужно выставить такие значения:
swappiness=10 , vfs_cache_pressure=1000
Проще всего это сделать так:
sudo nano /etc/sysctl.conf

в конец вставляем строки: vm.swappiness=10 и vfs_cache_pressure=1000
Сохраните изменения (Ctrl+O) и перезагрузите компьютер.