как ускорить загрузку linux mint

Как ускорить загрузку linux mint

1. Тюнинг использования ОЗУ (Оперативной памяти)

1.3 Активация zRam
Для ПК с объемом оперативной памяти меньшей иили равной 768 Мб Может оказаться полезным задействование модуля zRam, который хранит сжатый swap-файл dв оперативной памяти для уменьшения его объема.
Также стоит у помянуть что компрессия и декомпрессия данных при использовании этого механизма повлечет дополнительную нагрузку для CPU,
поэтому стоит обратить внимание и на его утилизацию, чтоб вместо повышения производительности не получить 100% полки CPU usage и дополнительные тормоза системы по этой причине.

Для задействования механиями zRam достаточно выполнить его установку

И перезагрузить компьютер.

И также перезагрузить ПК.

2. Настройки окружения и программ

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

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Re: Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

Chocobo писал(а): Для применения этих параметров стоит сбросить текущее значение кэшей

Код: Выделить всё
echo 3 > /proc/sys/vm/drop_caches

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

Рекоммендации по ускорению работы Linux Mint на слабых ПК

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

enp0* значит, что сеть нужно подымать только для устройств, имена которых начинаются на enp0. Готово, сеть настроена.

accounts-daemon.service – это относится к учётным записям, т.е. нужно.

acpid.service – задачей ACPI является обеспечение взаимодействие между операционной системой, аппаратным обеспечением и BIOS материнской платы., т.е. нужно.

binfmt-support.service – поддержка ядром других форматов бинарных данных. Как говорится, если не знаешь, то лучше не трогать. Оставляем.

cgmanager.service
CGManager предназначен для управления cgroup, позволяя непривилегированным пользователям получать доступ к cgroup и предотвращая выход из текущего cgroup в родительский не исключая и привилегированные приложения. Служба может пригодиться при создании вложенных контейнеров LXC.
Сведения. Контейнеры Linux или LXC представляют из себя технологию виртуализации, которая может использоваться для решения различных задач. Технология встроена в ядро Linux и с помощью неё возможен запуск на одном компьютере нескольких дистрибутивов практически без потерь производительности. LXC можно расценивать как что-то среднее между изолированным окружением chroot и полноценной технологией виртуализации Qemu, Xen, KVM или VirtualBox. Поскольку все программы выполняются на реальном «железе», без использования виртуализации, то производительность, в отличие от случая использования VirtualBox, не теряется. Даже при очень низких аппаратных ресурсах пользователь может параллельно запустить несколько контейнеров в своей системе, чего нельзя сделать с полноценными технологиями виртуализации.
Таким образом, контейнер позволяет с меньшими накладными расходами изолировать процессы и ресурсы если они работают под управлением операционной системы одной версии. Linux Containers можно считать развитием других «контейнерных» технологий, таких как OpenVZ или Vserver. В отличие от них не требуется специальная версия ядра, что значительно расширяет возможности применения.
Если Вы их не используете и не пользуетесь песочницей, в которой всё это может пригодиться для запуска программ, смело отключайте. В этом файле на стр.68 указано, что контрольные группы Linux (cgroups) могут работать и как механизм группировки и отслеживания процессов, и как инструмент управления использованием ресурсов. Для отключения службы используется команда:
sudo systemctl disable cgmanager.service

Далее идут целых 3 службы, в названии которых присутствует console, а также служба, в названии которых имеется cpu. Следующая за этим служба cron известна и относится к планировщику заданий. Служба с cpu явно относится к ЦПУ, а службы console, как видно из англоязыного описания отвечают, в том числе за раскладку клавиатуры, шрифты и т.п. Предполагаем, что все эти службы нужны.

cups-browsed.service – это служба будет необходима для организации сервера печати на Вашем компьютере. Если к Вашему компьютеру не подключен принтер и Вы не пользуетесь сетевыми принтерами, то можно отключить.
sudo systemctl disable cups-browsed.service
Если вдруг служба Вам понадобится, то потом её можно будет включить: sudo systemctl enable cups-browsed.service

dbus.service – это служба системы межпроцессного взаимодействия, которая позволяет приложениям в операционной системе сообщаться друг с другом. Как говорится, не с моим «рылом» лезть в калашный ряд. Служба нужна.

getty@tty1.service – это служба относится к запуску виртуальных консолей, нужна.

grub-common.service – как видно из названия, это служба относится к загрузчику grub и без глубоких знаний по процессу загрузки через grub трогать её как-то боязно. Оставляем как есть.

mdm.service – Mint Display Manager. Служба нужна.

ModemManager.service
ModemManager – это интерфейс, позволяющий реализовать подключение к сети интернет используя мoдемы, каналы связи (2G/3G/4G/CDMA), способы соединения (RS232, USB, Bluetooth) и методoв управления (AT, QCDM, QMI, MBIM). Если у вас кабельный интернет и вы не планируете использовать модем, отключайте:
sudo systemctl disable ModemManager.service
P.S. В сети найдено следующее утверждение: «Кстати, я у себя проверил, некоторые usb-модемы (например Huawai E303), и телефоны на андроиде, если их использовать как 3g модем (например мой GT-S6102) будут работать если отключить ModemManager.service. Может и ваш модем тоже сможет подключится? «.
Лично у меня в дополнение к сетевой карте имеется USB wi-fi модем китайского образца. После отключения указанной выше службы подключение через этот модем не пропало.

Эти 3 службы отвечают за управление сетью на Вашем компьютере. Первоначальный ответ «нужно». На некоторых ресурсах Интернет имеются высказывания пользователей о том, что они выключали службу NetworkManager-wait-online.service

ntp.service – служба времени, нужна.

ondemand.service – служба политики управления частотой процессора, нужна.

openvpn.service – служба Ваших подключений по Open VPN. Если Вы не знаете, что такое VPN или никогда не будете подключаться через Open VPN, то эта служба, как говорится, «стопудово» Вам не нужна. Лично у меня все подключения в мир проходят через MikroTik, поэтому и весь VPN будет организован тоже на нём. Учитывая мои реалии, openvpn и сопутствующие ему пакеты удаляю через Synaptic начисто, чтобы не занимал место и не тратил ресурсов.
Хотя очень многие могут мне возразить: «Хай буде».

rc-local.service
Назначение этой службы становится понятным после даже поверхностного ознакомления с содержанием статьи «Власть на демонами или автозапуск в Linux». Читайте абзац, который начинается со слов «Существуют несколько способов сделать автозапуск программ в Linux».
Вывод: служба нужна.

resolvconf.service – служба, касающаяся процесса преобразования имён узлов в адреса IP. Служба нужна. Кому интересны подробности, обратитесь к статье «Взаимоотношения dhcpclient и resolv.conf’a в Linux» здесь или на ресурс Linux Network Administrators здесь.

rsyslog.service
На одном из форумов имеется такой ответ: Rsyslog – это демон ведения логов. Удалять его, конечно, не следует. Без него некоторые программы не смогут писать свои логи. Следовательно, служба нужна.

rtkit-daemon.service – RealtimeKit Scheduling Policy Service, т.е. что-то типа службы политик планировщика в реальном масштабе времени. Да уж, как сложно-то, похоже, что служба нужна.

setvtrgb.service
Насколько мне удалось понять из содержания данной страницы, setvtrgb имеет отношение к цветовой палитре терминала. Получается, что служба нужна.

ssh.service
У меня установлен сервер ssh, поэтому наличие данной службы вопросов не вызывает.

sysstat.service – служба мониторинга производительности системы. Подробности читайте здесь. Служба нужна.

Перечисленное выше относится к systemd – системному менеджеру, демону инициализации других демонов в Linux, который пришёл на замену использовавшегося ранее SysV. Его особенностью является интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволило существенно ускорить запуск операционной системы. Название происходит от принятого в Unix добавления суффикса «d» к демонам.
Systemd оперирует специально оформленными файлами конфигурации – юнитами (unit). Каждый юнит отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и т.п. Существуют специальные типы юнитов, которые не несут функциональной нагрузки, но позволяют задействовать дополнительные возможности systemd.
Юнит service отвечает за запуск сервисов (служб), также поддерживает вызов интерпретаторов для исполнения пользовательских скриптов.
Точного описания этих служб не найдено, но предполагаю, что
systemd-journal-flush и systemd-journald – относятся к ведению журналов (прооколов работы) и их очистке;
systemd-logind – касается сеансов работы пользователей;
systemd-modules-load – относится к загрузке модулей;
systemd-random-seed – информации нет. Из wiki Gentoo стало известно, что эта служба относится к OpenRC сервису urandom. А уже после публикации в этой статье найдено, что «В свободной ОС имеется энтропийный пул, работающий через удобный интерфейс /dev/random. Там накапливаются случайные числа, полученные путем сбора случайных событий (передвижение мыши, интервалы между нажатиями клавиш и т.п.)».
systemd-remount-fs – монтирование файловых систем;
systemd-sysctl – отслеживание и контроль состояния systemd;
systemd-tmpfiles-setup-dev, systemd-tmpfiles-setup, systemd-udev-trigger, systemd-udevd – относятся к временным данным, символьным данным и файлам устройств;
systemd-update-utmp – судя по этому мануалу, служба ведёт аудит и записи обновлений регистрационных имён при старте, изменении уровней запуска и выключении системы;
systemd-user-sessions – служба пользовательских сессий.

udisks2.service – служба относится к Disk Manager, т.е. диспетчеру носителей. Служба нужна.

ufw.service – служба межсетевого экрана. Отключаем фаервол, на домашней машине, за маршрутизатором он не нужен: sudo systemctl disable ufw

upower.service – служба управления питанием, нужна.

user@1000.service – являюсь пользователем системы с так что это моё.

Источник

Оптимизации GNU / Linux

как ускорить загрузку linux mint. Смотреть фото как ускорить загрузку linux mint. Смотреть картинку как ускорить загрузку linux mint. Картинка про как ускорить загрузку linux mint. Фото как ускорить загрузку linux mint

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

ПЕРЕД ПОДОБНЫМИ ДЕЙСТВИЯМИ НАСТОЯТЕЛЬНО РЕКОМЕНДУЮ СОЗДАТЬ ТОЧКУ ВОССТАНОВЛЕНИЯ

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

Поскольку большинство систем используют systemd, для них актуальны команды

kernel — время загрузки ядра,
userspace — время на загрузку всего остального

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

sudo systemctl disable

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

Ускорение загрузки ядра Linux

Параметры загрузки ядра находятся в файле /etc/default/grub. Изменения нужно внести в значение строки GRUB_CMDLINE_LINUX_DEFAULT (значение в скобках, после знака = )

В итоге, строка будет иметь примерно такой вид:

GRUB_CMDLINE_LINUX_DEFAULT=»quiet rootfstype=ext4 libahci.ignore_sss=1 raid=noautodetect selinux=0 plymouth.enable=0 lpj=12053560″

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

После этой операции нужно обновить конфигурацию GRUB

Установка ПО

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

sudo apt-get install preload

Можно оставить настройки по умолчанию, в файле /var/lib/preload/preload.state информация о работе preload.

cycle — как часто preload будет получать от системы данные об используемых программ и библиотек.

halflife — как часто preload будет сбрасывать старую информацию.

minsize — ограничение на размер программы или библиотеки, которую preload будет обрабатывать.

Я у себя не нашел этой утилиты. Поэтому про её работу и настройку рекомендую почитать в сети, есть материалы

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

sudo apt install prelink

В процессе работы копится всяческий мусор. Этот мусор стоит периодически чистить. Я сам постоянно использую Stacer и Bleachbit. Первая умеет много чего, а вторую программу считаю обязательной для любой ОС. Плюс использую команды для удаления зависимостей-сирот. Однако, всё же можно установить для очистки autoclean и autoremove.

sudo apt autoclean

sudo apt autoremove

Последним оставлю блок про оптимизации работ железа. Сюда стоит включить операции с SSD/HDD и ОЗУ, разгон ОЗУ/видеокарты, кастомные ядра, настройку работы ЦП и видеокарты. Для настройки работы nVidia утилита GWE и родная NVIDIA SERVER SETTING, которая устанавливается вместе с драйвером, для АМД — CoreCtrl, которая, к тому же, позволяет изменить режим работы процессора.

Для работы с SSD нужно выставить флаги в /etc/fstab

Если вы уже выставили флаги discard в вашем Fstab, то включать TRIM по расписанию не надо!

На счет TRIM для SSD — довольно неоднозначная вещь. Встречал противоречивые мнения в сети: и что это утилита уже встроена в ядро, что она не работает по умолчанию должным образом, нужно прописывать самому в fstab. Ничего утверждать не буду. Прочитал на этот счет статью, что SSD сами справляются с уборкой мусора, надо всего-лишь держать там достаточно не размеченного пространства, порядка 10-15%. Собственно, на этом я и остановился.

Отключение защиты от уязвимостей в процессорах Intel

Spectre/Meltdown/Zombieload aka MDS (серьезно снижают производительность)

GRUB_CMDLINE_LINUX_DEFAULT=»nopti pti=off spectre_v2=off l1tf=off nospec_store_bypass_disable no_stf_barrier

Оптимизация дисковых операций

Жесткий диск — это самое узкое место любой системы, не только GNU/Linux. Жёсткий диск является самым медленным устройством в компьютере. Если установлен SSD, то это решает многие проблемы, но кое-что всё равно остаётся. Первой оптимизацией является изменение размеров дискового кэша. При операциях копирования или перемещения, данные сначала записываются в оперативную память, а затем кучей скидываются на диск. В результате, особенно при нехватке памяти, это может привести к сильным задержкам. Исправить ситуацию поможет уменьшение дискового кэша до разумной величины. Также стоит уменьшить кэш файловых систем. Открываем /etc/sysctl.conf и в конец добавляем строки:

Прошу обратить внимание на последнюю строку: этот параметр отвечает за кэширование объектов файловой системы в оперативную память. При значении 0, объекты не высвобождаются и так и остаются в оперативной памяти. Чем больше значение, тем чаще ядро будет проводить «зачистку» оперативной памяти. Поэтому если у вас оперативной памяти меньше 2 ГБ, то оставьте значение 50, дабы сократить число дисковых операций в разделе подкачки. Это также полезно в случае если у вас SSD. Но если у вас больше 2 ГБ оперативки, и обычный жёсткий диск, то выставьте значение этого параметра на 1000. Это позволит более агрессивно кэшировать дисковые операции, тем самым повысив быстродействие при достаточном количестве оперативной памяти. По умолчанию значение этого параметра равно 100.

Источник

Пингвин с реактивным ранцем: Ускоряем запуск приложений в Linux

Содержание статьи

За все время существования толстых пингвинов (период, отсчитываемый примерно с момента появления GTK+ 2.X, X Free 4.X и Linux 2.6) было придумано немало способов ускорения запуска приложений и всей ОС.

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

Предварительное связывание или PRELINK

Пре-связывание есть ни что иное, как модификация запускаемого файла с целью включить в него результаты динамического связывания библиотек. Что это значит?

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

Файлы a.out всегда точно знали, по какому адресу они будут загружены в память процесса, и по каким адресам будут располагаться их внутренние функции, константы и т.д. Эта особенность, с одной стороны, давала им преимущество в скорости загрузки, а с другой — создавала проблемы сосуществования библиотек в памяти (что, если две библиотеки будут загружены в память по одному адресу?). Проблемы надо было решать, поэтому появился формат ELF (его создатели на самом деле были поклонниками книг Толкиена :)), который снимал с исполняемых файлов ответственность за выбор адреса своего размещения в виртуальной памяти и перекладывал ее на динамический линковщик. Отныне адреса загрузки приложений, библиотек и всех их символов (переменных, констант, функций т.д.) вычислялись динамически на этапе загрузки.

ELF позволил UNIX/Linux сделать огромный шаг вперед и стать системой, способной загружать и исполнять огромное количество приложений, слинкованных с таким же количеством библиотек, без всяких проблем. Однако с точки зрения производительности это был провал. Процедура динамического связывания очень быстра, и при запуске приложений, зависящих всего от нескольких библиотек, она не вносит в процесс заметных задержек, но если это запуск громоздкого приложения с зависимостями порядка 50 библиотек, то задержка может быть весьма существенной (вплоть до нескольких десятков секунд).

Так называемое пре-связывание наделяет ELF-файлы наиболее выгодной чертой формата a.out. Запускаемые файлы модифицируются таким образом, чтобы уже включать в себя результат динамического связывания и, соответственно, заранее знать собственные адреса в памяти процесса и не тратить на их вычисление время в течение запуска. Процедура пре-связывания была предложена сотрудником Red Hat Jakub Jelinek еще в 2004 году и оказалась очень удачным методом повышения скорости запуска приложений. Согласно тестам, она может дать прирост, равный 50% от первоначальной скорости запуска, а в особо тяжелых случаях (OpenOffice, KDE, Gnome) — и того больше. При этом для ускорения системы достаточно запустить всего одну команду и немного подождать.

Да, задействовать механизм пре-связывания действительно просто. Для этого уже упомянутый выше Jakub Jelinek написал программу под названием prelink. Она доступна практически в любом Linux-дистрибутиве, поэтому собирать из исходников ничего не придется. Просто установи пакеты prelink, используя пакетный менеджер дистрибутива, и выполни следующую команду:

Аргументы командной строки в этом случае значат следующее:

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

Далее можно тереть пакет из системы.

Предварительная загрузка или PRELOAD

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

Демон preload может существенно повысить скорость загрузки приложений, но произойдет это только в том случае, если система оснащена достаточно большим объемом памяти. Два гигабайта — это минимум, при котором preload даст выигрыш, при меньших объемах он только помешает. Пакет preload можно найти в составе любого современного дистрибутива, поэтому для его установки достаточно использовать стандартный менеджер пакетов:

$ sudo apt-get install preload

Далее следует отредактировать конфигурационный файл /etc/preload.conf. Демон вполне сносно работает и при стандартных настройках, однако каждый из нас индивидуален и использует систему по-своему, поэтому, вероятно, ты захочешь подогнать preload под себя. Перечислю основные опции в секции model:

Секция system также содержит три интересных для нас опции:

На этом все, можешь перезагрузить preload:

$ sudo /etc/init.d/preload reload

Как и любой другой демон, preload ведет логи, которые ты сможешь найти в файле /val/log/preload.log. Информация о текущем состоянии preload и его кэше доступна в файле /var/lib/preload/preload.state.

Предварительное чтение или READAHEAD

Ubuntu, а также некоторые другие современные дистрибутивы Linux, используют систему readahead во время инициализации системы. Как и демон preload, readahead заранее загружает необходимые компоненты приложений в оперативную память с целью ускорить их запуск. Разница заключается лишь в том, что readahead частично работает внутри ядра Linux и оптимизирован специально для ускорения процесса инициализации системы.

Система использует утилиту /sbin/readahead-list, которая читает файлы /etc/readahead/boot и /etc/readahead/desktop и загружает перечисленные в них файлы во время инициализации системы. Эта простая и эффективная схема, которая, однако, имеет и очевидные недостатки. Дело в том, что любая стандартная установка Ubuntu со временем претерпевает изменения в количестве установленных и загружаемых во время старта ОС сервисов. Списки файлов в этом случае становятся неактуальными и требуют обновления. Параметр ядра profile позволяет перестроить списки предварительно загружаемых файлов. Для его включения перезагрузи систему, во время загрузки нажми для входа в меню загрузчика, далее нажми и добавь в конец списка параметров ядра слово profile. Нажми для загрузки. Инициализация системы в режиме профилирования займет время, поэтому будь готов потерпеть.

Заморозка процесса или CRYOPID

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

Так почему бы не развить эту идею дальше и не сделать так, чтобы вместо остановки процессов их состояние можно было бы заморозить, а позже — восстановить, избавив программу от необходимости каждый раз производить сложную и трудоемкую инициализацию внутреннего состояния? Не мы первые, не мы последние. CryoPID — простое приложение для заморозки процессов и последующего их восстановления. Прога не требует прав root или модификации ядра, работает на архитектурах x86 и amd64 и, что самое главное, не привязывает замороженный процесс к конкретной машине. После заморозки процесс превращается во что-то вроде самораспаковывающегося архива, ты легко можешь перенести его на другую машину и просто запустить. Пакет CryoPID есть далеко не в каждом дистрибутиве, поэтому его придется установить самостоятельно:

После этого можно запустить программу следующим образом:

/bin/freeze имя-файла pid-поцесса

К сожалению, CryoPID имеет несколько проблем, включая неполную поддержку сокетов и X-приложений, а также генерирует мусор в списке процессов вместо имени восстановленной программы.

Шустрая загрузка UBUNTU

Ubuntu быстра, на самом деле быстра. Скорость загрузки этого дистрибутива оставляет далеко позади многие другие линуксы и заставляет завидовать поклонников BSD-систем. Однако нет пределов совершенст ву, и в этом разделе мы попробуем ускорить ускоренное.

1. Отключи таймаут в grub. По умолчанию загрузчик ждет 3 секунды, чтобы пользователь смог изменить параметры загрузки. Открой файл /boot/grub/menu.lst, найди строку «timeout=3» и замени 3 на 0.

2. Отключи splash. Ubuntu splash-screen, показываемый во время загрузки системы, малоинформативен и требует время на свою загрузку. Поэтому открываем все тот же /boot/grub/menu.lst и убираем опции «quiet» и «splash» из параметров загрузки ядра.

3. Отключи IPv6. Раньше поддержка пока ненужного протокола IPv6 в Linux была реализована в виде загружаемого модуля, поэтому для ее отключения требовалось лишь слегка отредактировать файл /etc/ modprobe.d/aliases. Сегодня IPv6 вшит прямо в ядро, поэтому для его отключения ядру должен быть передан параметр «ipv6.disable=1». Сделать это можно, отредактировав файл /boot/grub/menu.lst.

4. Отключи проверку на выход из спящего режима. Во время своей загрузки ядро выполняет проверку, выходит ли комп из спящего режима (suspend) или выполняет обыкновенную загрузку. Занимает эта процедура всего одну секунду, однако ее тоже можно сэкономить, добавив опцию «noresume» к параметрам загрузки ядра. Естественно, владельцам ноутбуков этого делать не стоит.

5. Оптимизируй initramfs. Образ RAM-диска используется для хранения низкоуровневых компонентов ОС, которые должны быть доступны еще до монтирования корневой файловой системы. По умолчанию этот образ содержит всевозможные компоненты, подобранные на все случаи жизни. Без них образ грузится в память быстрее, что способст вует сокращению общего времени загрузки системы. Открываем файл /etc/initramfs-tools/initramfs.conf, находим строку «MODULES=most» и заменяем ее на «MODULES=dep». Далее пересобираем все доступные образы только с необходимыми компонентами:

После обновления ядра образы будут сгенерированы автоматически.

6. Отключи ненужные сервисы. По умолчанию в Ubuntu активировано множество фоновых сервисов на все случаи жизни. Вряд ли тебе нужны они все, поэтому идем отключать. Открываем System q„ Administration <„ Services и видим список сервисов. Выбор кандидатов на отключение зависит от конкретной ситуации, но в большинстве случаев безболезненно можно пожертвовать следующим:

7. Отключи автостарт ненужных приложений. Во время входа в систему происходит автозапуск большого количества различных приложений (в основном это апплеты). Не все они нужны, поэтому открой System ra Preferences p„ Applications startup и удали все, что считаешь ненужным (например, апплет bluetooth). Запуск оставшихся приложений можно немного оптимизировать с помощью следующего трюка: отредактируй строку запуска каждого из них так, чтобы она приняла примерно такой вид:

Ускоряем запуск тяжеловесов

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *