Debian 10 настройка производительности

Обновлено: 04.07.2024

Автозагрузка в Ubuntu\Debian\Mint:

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

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

Вообще в Ubuntu\Debian\Mint есть две подсистемы автозапуска:

Графические утилиты управляют только первым видом. Практически же такая загрузка выполняется через .desktop файл приложений, (по типу ярлыков c:/documents and settings/all users/ в Винде), которые находятся в папках :

Автостарт приложений при запуске ядра системы Ubuntu\Debian\Mint

Эти утилиты борются с фрагментированием файловой системы, и если у Вас SSD-диск, то они только займут ОЗУ безо всякого смысла.

Уменьшение размеров системных логов Ubuntu\Debian\Mint

По-умолчанию логируется практически все, и системные события, и инциденты всех служб\программ.

Логи по-умолчанию лежат в директории /var/log. Если эта папка размещена в корне (/) то современные дистрибутивы просто резервируют обычно 5% для свободного места. Иначе логи могут забить все и сделать загрузку невозможной.

Для уменьшения журналов событий есть специальная утилита logrotate. Она удаляет старые логи с установленной в конфиге /etc/logrotate.d периодичностью. Каждый файл в этой директории назначает управление логами определенной программы\службы. Также можно задать определенный максимальный размер журнала отдельно для каждого приложения. Например, для медиа-плеера VLC:

Можно грохнуть все старые журналы (логи):

Для повышения общей скорости системы можно поместить директорию временных файлов в ОЗУ. Нужно в fstab:

Это значительно ускорит работу системы и отдельных приложений, и часто весьма и весьма значительно. Но есть пару моментов:

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

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

добавив директиву: vm.swappiness=3

vm.swappiness=10 указывает, что свпиться система начнет только при 3 процентах занятой оперативки.

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

длинная команда в терминале:

отключит всякие комерческие варианты и немного ускорит систему.

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

Этот раздел поможет наглядно установить и настроить утилиты для управления энергопотреблением и производительностью процессора.

  1. Управление режимами работы процессора
    1. Анализ возможностей по управлению
    2. Подробное описание регуляторов
    3. Ручная регулировка
    4. Разовая регулировка при включении компьютера
    5. Динамическая регулировка в зависимости от выполняемых задач cpufreqd

    Анализ возможностей по управлению

    Устанавливаем сpufreq-utils - набор утилит для управления режимами работы процессора

    Подробный вывод возможностей процессора

    Смотрим какие режимы (регуляторы) поддерживает процессор

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

    • Доступные регуляторы:
    • performance, производительность (по умолчанию). Этот регулятор встроен в ядро и заставляет работать CPU с максимальной скоростью;
    • cpufreq_ondemand. Динамически изменяет частоту процессора в зависимости от нагрузки на систему;
    • cpufreq_conservative. Похоже на регулятор ondemand, разница лишь в плавном увеличении и уменьшении частоты процессора, что лучше для батареи;
    • cpufreq_powersave. Выставляет минимальную частоту для процессора;
    • cpufreq_userspace. Пользователь выставляет частоту вручную.

    Подробное описание регуляторов

    Регуляторы powersave и performance.

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

    Теперь мы приступаем к обсуждению настроек для конкретных регуляторов. При задействованном регуляторе userspace в каталоге cpufreq будет присутствовать файл scaling_setspeed , доступный на запись для root. Этот регулятор даёт пользователю или программе в пользовательском пространстве возможность изменять тактовую частоту процессора. С помощью команды echo пользователь может внести нужное значение частоты в этот файл или же представить возможность установить эту частоту какому-нибудь демону в пользовательском пространстве. Как говорилось ранее, во время обсуждения файлов настроек, вносить настройку в файл scaling_setspeed необходимо для каждого из процессоров.

    • cpufreqd: это демон можно настроить на реагирование на уровень заряда батареи, тип питания (от сети или от батареи), температуру, запущенные программы, уровень использования процессора и на другие факторы.

    При задействованном регуляторе ondemand в каталоге cpufreq присутствует каталог ondemand. В этом каталоге имеется множество регулируемых настроек. Все файлы, доступные на запись для root, можно изменить, вписав новое значение с помощью команды echo, как показывалось ранее. Заметьте, что любые изменения в настройках регулятора ondemand будут применяться на общесистемном уровне, поэтому нет необходимости изменять настройки для каждого процессора.

    Проверяем изменяемые настройки для ondemand

    В файл ignore_nice_load вписывается значение 0 или 1 (по умолчанию 0). При установленном параметре "1" любой процесс с установленными значением "nice" не будет учитываться при расчёте общего использования процессора. При параметре "0" учитываются все процессы. Эта настройка может пригодиться, если у вас есть программа, требовательная к процессорным ресурсам, но продолжительность ее работы не имеет значения. Если применить настройку "nice" к процессу, он не будет влиять на изменения частоты.

    Далее, настройки файла powersave_bias были введены для того, чтобы слегка изменять поведение регулятора ondemand в целях большей экономии энергии путём снижения определённой частоты на указанный процент в ситуациях, когда пользователю не очень важна производительность. Эта настройка может иметь значение от 1 до 1000, что дает от 0.1% до 100% снижения частоты. sampling_rate, измеряемая в микросекундах, определяет, насколько часто регулятор будет проверять использование процессора для определения нужной частоты. Эта настройка принимает значение в промежутке от sampling_rate_min до sampling_rate_max.

    Наконец, настройка up_threshold даёт пользователю возможность изменять пороговое значение максимального использования процессора, влекущее за собой изменение частоты процессора. Значение по умолчанию — 80. Это означает, что через определённые промежутки, указанные в настройке sampling_rate, ядро проверяет процент использования процессора, и при 80% регулятор повышает частоту до максимально возможной.

    При использовании регулятора conservative в каталоге cpufreq появляется подкаталог conservative. В этом подкаталоге имеется множество настроек. Все файлы, доступные на запись для root, можно изменять, вписывая в них новое значение с помощью команды echo, как было показано ранее. Заметьте, что любые изменения в настройках регулятора conservative будут применяться на общесистемном уровне, поэтому нет необходимости изменять настройки для каждого процессора.

    Настройки, доступные для регулятора conservative

    Настройки ignore_nice_load, sampling_rate, sampling_rate_max, sampling_rate_min и up_threshold аналогичны настройкам, уже описанным для регулятора ondemand. Регулятор conservative также даёт пользователю возможность настроить значение down_threshold. К примеру, по умолчанию это значение настроено на 20. Это означает, что через определённые промежутки, указанные в настройке sampling_rate, ядро проверяет процент использования процессора, и если это значение ниже 20%, регулятор будет снижать частоту.

    Настройка freq_step изменяет размер шага (в ту или иную сторону), на который регулятор изменяет частоту процессора. По умолчанию это значение равно 5, то есть регулятор будет изменять частоту на 5 процентов от максимальной или минимальной каждый раз, когда он принимает решения об изменении частоты. В случае, если значение равно 100, регулятор будет действовать точно так же, как и регулятор ondemand.

    Наконец, sampling_down_factor работает как множитель к значению sampling_rate для снижения частоты опроса процессора. Например, если значение sampling_rate равно 10000, а значение sampling_down_factor — 2, то ядро будет проверять процент использования процессора каждые 20000 микросекунд.

    Ручная регулировка

    Выбор и настройку регуляторов удобнее всего выполнять с помощью утилиты cpufreq-set.

    Например для двухъядерного процессора выставляем динамический режим ondemand:

    За подробностями обращайтесь к cpufreq-set --help.

    Разовая регулировка при включении компьютера

    К примеру мы хотим, чтобы частота обеих ядер не превышала 1,5GHz и изменение происходило в плавном режиме. Редактируем файл конфигурации

    Все действия производить с чистой системой, в случае с рабочей, есть риск всё сломать! Для данных целей рекомендуется netinstall образ
    При установке /boot необходимо сделать отдельным разделом, хватит 200мб и ext2

    Для данных целей нужно использовать последнее ядро (>=2.6.28) и собирать его вручную, как правильно это сделать:
    make menuconfig
    В Processor type and features -> Processor family выберите свой процессор (у меня Core 2/newer Xeon)
    В File systems модульно The Extended 4 (ext4) filesystem и выбрать Ext4 extended attributes
    Закончим конфигурирование, приступим к сборке:
    make-kpkg --initrd --append-to-version="-append" kernel_image kernel_headers
    dpkg -i ../linux*.deb
    Где append можно заменить на любое своё слово.
    Что бы точно не было проблем с модулями рекомендуется подключить репозиторий sidux'а, для этого в /etc/apt/sources.list:
    deb debian.tu-bs.de/project/sidux/debian sid main contrib non-free fix.main fix.contrib fix.non-free
    deb-src debian.tu-bs.de/project/sidux/debian sid main contrib non-free fix.main fix.contrib fix.non-free

    Перевод в ext4

    apt-build

    Это программа, благодаря которой можно устанавливать пакеты из исходных кодов, для установки введите aptitude install apt-build, после установки будет предложено выбрать ваш процессор, в интернете можно найти дополнительные параметры для вашего процессора, мой файл настроек (/etc/apt/apt-build.conf): build-dir = /var/cache/apt-build/build
    repository-dir = /var/cache/apt-build/repository
    Olevel = -O2
    mtune = -mtune=core2
    options = "-pipe -fomit-frame-pointer"
    make_options = "-j4 "
    Для начала пересоберём уже установленный пакеты, для этого:
    dpkg --get-selections | awk '' > /etc/apt/apt-build.list
    echo "Package: *
    Pin: release o=apt-build
    Pin-Priority: 990" >> /etc/apt/preference
    Последнее было сделано для того, чтоб при обновление собранные пакеты не заменились пакетами из репозитория.
    Для пересборки всего вводим apt-build world и когда пишет, что для какой0то программы нет исходных текстов, удаляем её из /etc/apt/apt-build.list

    Позже пакеты устанавливать через apt-build install, обновлятся через apt-build upgrade, более подробная информация в man apt-build

    Замена init на upstart

    upstart работает быстрее, чем init, для замены подключите репозитоий с experimental и введите:
    echo "Package: *
    Pin: release o=experimental
    Pin-Priority: 101" >> /etc/apt/preference
    apt-build install upstart

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

    Linux 2

    Отключаем server

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

    Debian / Ubuntu

    Fedora / Centos

    Arch / Manjaro

    Linux 3

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

    Отключаем службы

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

    Устанавливаем Preload

    Preload это демон, который кэширует часто используемые приложения. Тем самым повышая скорость запуска. Для установки Preload достаточно выполнить команду:

    Debian / Ubuntu

    Arch / Manjaro

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

    Модуль ядра ZRAM

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

    Тут человек подробно объясняет на примере дистрибутива Manjaro. Но, данный способ будет работать и в других дистрибутивах.

    А на этом сегодня все. Надеюсь данная статья будет вам полезна.
    С уважением Cyber-X

    Вам также может понравиться

    Устанавливаем ZoneMinder в Linux

    Устанавливаем ZoneMinder в Linux

    Устанавливаем систему виртуализации Proxmox

    Устанавливаем систему виртуализации Proxmox

    Как разблокировать связку ключей

    Как разблокировать связку ключей

    3 комментария к « Оптимизация системы Linux »

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

    Читайте также: