Отдельно обращу внимание, что я ничего не кастомизировал. Всё изскаропки. Работают только те пакеты, которые были установлены изначальным инсталятором. Это чтобы не было проблем при обновлении через apt. Всё что я сделал, посмотрел сервисы, запускаемые через systemd, остановил и навсегда отключил те, которые мне никогда не понадобятся. Особенно акцент делал на тормознутые демоны, которые написаны на python и отъедают море памяти.Пример отключения ненужного:
systemctl stop avahi-daemon.socket
systemctl mask avahi-daemon.socket
systemctl stop avahi-daemon
systemctl mask avahi-daemon
Список всех стартующих сервисов можно увидеть через команду
systemctl list-units --type=service
Почитайте о каждом из них (информации море) и решите нужны ли они лично Вам.
Касательно того, что со временем запущенные программы потребляют больше памяти. Да, это так. Некоторые программы, видя что достаточно свободной памяти активно расширяют свой кеш в RAM, чтобы лишний раз не тянуть из сети или не обращаться к диску. Некоторые для своих нужд резервируют виртуальную память больше чем нужно и не отпускают её (в архитектуре Linux есть несколько типов памяти и довольно всё запутано). В общем, есть огромное количество нюансов, но в основном это никак не влияет на производительность.
Например, когда ядро выделяет 30 Gb RAM под дисковый кеш, то тут нечему удивляться. Как выделило, так и освободит, когда какая-либо прикладная программа уровня пользователя затребует память через вызов malloc();
Моя настольная машина не тушится месяцами. Своп отключен напрочь чтобы не убивать диск. Если я вижу, что приложения потребляют слишком много оперативки, то просто их перезапускаю: браузеры, всякие убогие поделия типа Slack, написанные с использованием Electron и которые я, к сожалению, вынужден держать из-за специфики работы.
Хочу обратить внимание, что основные системные приложения написаны очень хорошо и нетребовательны к ресурсам. Со временем их работы потребление памяти растёт не всё время, а останавливается на каких-то разумных пределах. В принципе, весь комплект инструментов из набор XFCE можно тоже отнести к очень хорошо написанным программам, но там больше сама библиотека GTK вызывает массу вопросов. Мне как-то с ней пришлось поработать и у неё нет механизмов явной очистки памяти (я не про gtk_widget_destroy() но про очистку памяти при работе внутренних компонентов, которые не управляются вручную). Её авторы реализовали какое-то автоматическое управление и в тех алгоритмах мало кто из прикладников может разобраться. В результате поведение программ такое, что как будто где-то в коде есть утечки памяти, но потом внезапно приходит злобный (условно назовём его гарбидж-коллектор) и вычищает излишки. Разработчики в своей документации так и пишут, мол: «Не трогайте, у нас нет утечек памяти, мы обо всём позаботились, игнорируйте сообщения от компилятора» Хотя их «забота» вызывает массу вопросов…
Я уже молчу про программы на QT. Там вообще мрак, когда какая-то говноприкладнуха в 2 мегабайта типа Flameshot резервирует для своих нужд полтора гига и не торопится их высвобождать болтаясь в таком состоянии неделями.