Всем привет! Наверно, многие пришли к линуксу, когда их старый компьютер или ноутбук не тянул, или плохо тянул операционные системы от Microsoft. Многие пробовали разные дистрибутивы - AntiX, MX Linux, Linux Lite, Lubuntu, Xubuntu, и многие другие. Но скорее всего, вы в итоге пришли к Arch Linux - по моему скромному мнению, одному из лучших дистрибутивов.

Многое я взял из ARU - гайд по оптимизации Arch Linux (v2022.07.01).

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

Устанавливая какое-либо DE или WM, вы скорее всего установите минимальную комплектацию, а также из-за минималистичности арча - вы получаете систему, которая не будет есть много ресурсов вашего ПК, ибо не будет никаких лишних сервисов и демонов.

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

Внимание! Статья написана ТОЛЬКО для Arch Linux, методы оптимизации могут не работать на других дистрибутивах.

Почему именно арч лучший дистрибутив для установки на слабые ПК (да и не только) мы уже поняли. Минималистичность, быстрота, отсутствие лишнего делают арч практически идеальной системой.

Да, можно конечно еще установить Artix - форк арча без systemD, но это уже совсем другая история. Ну и не хочется мне разводить холивар из-за systemD.

Итак, перед началом экстременальных хирургических работ в нашей системе давайте создадим точку восстановления системы при помощи Timeshift, на случай проблем. Установите командой sudo pacman -S timeshift. Как создать точку восстановлению, надеюсь, не придется рассказывать.

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

Обновление системы

Перед началом работ давайте обновим систему и подредактируем пару конфигов.

Откройте файл по пути /etc/pacman.conf, и раскомментируйте строчку ParallelDownloads. Этот параметр позволит использовать параллельную загрузку.

По желанию, можете раскомментировать строчку Color, и после нее добавить строку ILoveCandy. Первая включает цвет, а вторая создает анимацию пакмана при загрузке пакетов. Чисто косметические улучшения, не более.

sudo pacman-key --init               # Инициализация
sudo pacman-key --populate archlinux # Получить ключи из репозитория
sudo pacman-key --refresh-keys       # Проверить текущие ключи на актуальность
sudo pacman -Syu                     # Обновляем систему

После нам нужно будет немного настроить скорость зекрал:

sudo pacman -S reflector rsync curl  # Установка reflector и его зависимостей
# Ставим зеркало из России
sudo reflector --verbose --country 'Russia' -l 25 --sort rate --save /etc/pacman.d/mirrorlist

Иногда хорошим выбором будет брать зеркала не из вашей страны, например, иногда лучше из Германии.

Теперь наша задача - установить зависимости, которые нам потребуются.

Для начала установим микрокод - если у вас intel, то установите intel-ucode, если amd - amd-ucode.

sudo pacman -S intel-ucode			# Intel
sudo pacman -S amd-ucode			# AMD
sudo mkinitcpio -P 					# Обновляем образы initramfs

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

Следующий шаг - установка утилит:

sudo pacman -S lrzip unrar unzip unace p7zip squashfs-tools base-devel bash wget tar git pacman-contrib nano vim

В этой команде мы установили утилиты для работы с разными архивами, инструменты squashfs, базовые утилиты для разработчиков, баш, систему контроля версий git, pacman-contrib (он нам будет нужен для очистки системы от кэша пакмана), и пару консольных редакторов текста.

По желанию, вы можете также установить набор прикладного ПО:

sudo pacman -S chromium vlc gvfs nemo qbittorrent kitty

Вместо kitty вы можете установить какой угодно другой терминал. Также как и вместо nemo.

Скорее всего, вы могли уже установить нужные вам видео-драйвера. Но на всякий случай, оставлю команды для установки.

AMD: sudo pacman -S mesa vulkan-radeon vulkan-icd-loader

INTEL: sudo pacman -S mesa vulkan-intel vulkan-icd-loader

Настройка

После этого можно изменить файл /etc/makepkg.conf. Это конфиг для команды makepkg, который используется для сборки пакетов.

Измените следующие данные:

CFLAGS="-march=native -mtune=native -O2 -pipe -fno-plt -fexceptions \
      -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
      -fstack-clash-protection -fcf-protection"
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
RUSTFLAGS="-C opt-level=3"
MAKEFLAGS="-j$(nproc) -l$(nproc)"
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)

Здесь вы можете увидеть флаги для компиляторов и настройку сборки.

Компоненты из CachyOS

Как я говорил, CachyOS - оптимизированная сборка арча. Если вы решили остаться на ванильном арче, то вы можете установить репозиторий cachyos.

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

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

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

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

Для установки надо ввести следующие команды:

wget https://mirror.cachyos.org/cachyos-repo.tar.xz               # получаем архив cachyos-repo
tar xvf cachyos-repo.tar.xz                                       # разархивируем
rm cachyos-repo.tar.xz                                            # удаляем архив
cd cachyos-repo                                                   # переходим в директорию
sudo ./cachyos-repo.sh                                            # запускаем скрипт установки репозитория
sudo pacman -S linux-cachyos linux-cachyos-headers                # установливаем ядро
sudo mkinitcpio -p
sudo grub-mkconfig -o /boot/grub/grub.cfg

Мы устанавливаем ядро с SCHED-EXT планировщиком (BPF extensible scheduler class).

Но также поддерживаются следующие:

  • (BORE) Burst-Oriented Response Enhancer Scheduler by firelzrd (BORE) linux-bore / linux-cachyos-bore / linux-cachyos

  • (EEVDF) Earliest Eligible Virtual Deadline - linux-cachyos-eevdf

  • (ECHO) Enhanced CPU Handling Orchestrator Scheduler by Hamad Marri

Также можно увеличить производство через совместимость процессора с разными версиями архитектуры x86_64.

Можно увидеть, какую версию поддерживает ваш процессор через команду /lib/ld-linux-x86-64.so.2 --help | grep supported.

Вот пример вывода:

> /lib/ld-linux-x86-64.so.2 --help | grep supported
  x86-64-v4 (supported, searched)
  x86-64-v3 (supported, searched)
  x86-64-v2 (supported, searched)

Если вы видите x86-64-v4 (supported, searched) или что-то похожее, то значит ваш процессор поддерживает данную версию архитектуры. Если же просто x86-64-v4, то значит ваш процессор не поддерживается.

Для того, чтобы использовать репозиторий с программами под вашу версию (например, у вас доступна x86-64-v4), то надо выполнить следующие действия:

sudo vim /etc/pacman.conf # открываем конфиг пакмана

# Если процессор не поддерживает какую ту версию, вы можете оставить так:
[cachyos]
Include = /etc/pacman.d/cachyos-mirrorlist

# Но если поддерживает, то:
[cachyos-v3]
Include = /etc/pacman.d/cachyos-v3-mirrorlist
[cachyos-core-v3]
Include = /etc/pacman.d/cachyos-v3-mirrorlist
[cachyos-extra-v3]
Include = /etc/pacman.d/cachyos-v3-mirrorlist
[cachyos]
Include = /etc/pacman.d/cachyos-mirrorlist
# Не забудьте изменить v3 на вашу версию (может быть у вас v4, а может и v2)

# И после обновите систему
sudo pacman -Syu

Если вы установили ядро с планировщиком SCHED-EXT (по дефолту), то можете установить специальную утилиту scx-scheds, который включает дополнительные планировщики:

sudo pacman -S scx-scheds

Ниже список планировщиков с их путями:

/usr/bin/scx_central
/usr/bin/scx_flatcg
/usr/bin/scx_lavd
/usr/bin/scx_layered
/usr/bin/scx_nest
/usr/bin/scx_pair
/usr/bin/scx_qmap
/usr/bin/scx_rlfifo
/usr/bin/scx_rustland
/usr/bin/scx_rusty
/usr/bin/scx_simple
/usr/bin/scx_userland

Чтобы запустить планировщик, введите в терминале:

sudo scx_<NAME>

Полезные утилиты

Некоторые полезные утилиты, которые могут помочь вам оптимизировать ОС.

Earlyoom

Out-Of-Memory Killer (OOM) — это процесс в Linux, который завершает приложение, чтобы спасти ядро от сбоя. Он жертвует приложением, чтобы сохранить работу ОС.

Когда в системе заканчивается память, OOM вызывает функцию out_of_memory(). В ней есть функция select_bad_process(), которая получает оценку от функции badness(). Под раздачу попадает самый «плохой» процесс.

Earlyoom автоматически завершает программу, если она приводит к исчерпыванию всей свободной ОЗУ в системе, предотвращая ситуацию нехватки оперативной памяти – OOM. Условия срабатывания такие:

Установка и запуск:

sudo pacman -S earlyoom
sudo systemctl enable earlyoom

Trim

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

Эта команда полезна для SSD

sudo systemctl enable fstrim.timer
sudo fstrim -v /
sudo fstrim -va /

CPUPower

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

sudo pacman -S cpupower                       # Установит менеджер управления частотой процессора
sudo cpupower frequency-set -g performance    # Выставляет максимальную  производительность до перезагрузки системы.

После в файле /etc/default/cpupower строку governor= исправьте на governor=performance.

И после включаем сервис в автозапуск:

sudo systemctl enable cpupower

Оптимизация GNOME

Гном - один из самых прожорливых DE. Но, по моему скромному мнению, один из лучших DE (конечно же вы можете считать по другому).

Но можно попробовать оптимизировать его, путем отключения сервисов, и в совокупности со всей оптимизацией, он будет стабильно работать на 2гб ОЗУ! Конечно, при открытии браузера, ситуация ухудшается, но здесь уже мало что можно поделать, если не идти в крайние дебри линукс-оптимизации.

Для начала отключим некоторые ненужные сервисы:

systemctl --user mask org.gnome.SettingsDaemon.Wacom.service # Интеграция с граф.планшетом Wacom
systemctl --user mask org.gnome.SettingsDaemon.PrintNotifications.service # уведомления о печати принтером
systemctl --user mask org.gnome.SettingsDaemon.Color.service # служба управления цветовыми профилями. Без этого сервиса не будет работать "теплый" режим.
systemctl --user mask org.gnome.SettingsDaemon.A11ySettings.service # служба для управления специальными возможностями (для людей с ограниченными возможностями)
systemctl --user mask org.gnome.SettingsDaemon.Wwan.service # отключение службы для работы с беспроводными сетями. Не отключать, если вы пользуетесь WiFi.
systemctl --user mask org.gnome.SettingsDaemon.UsbProtection.service # отключение служб защиты от сторонних USB при блокировке экрана
systemctl --user mask org.gnome.SettingsDaemon.ScreensaverProxy.service # автоматическая блокировка экрана (скринсейвер)
systemctl --user mask org.gnome.SettingsDaemon.Sharing.service # общий доступ к каталогам и файлам
systemctl --user mask org.gnome.SettingsDaemon.Rfkill.service # Отключение службы управления подсистемой rfkill, отвечающей за отключения любого радиопередатчика в системе (WiFi и Bluetooth)
systemctl --user mask org.gnome.SettingsDaemon.Keyboard.service # Отключение службы управления клавиатурой и раскладками GNOME. Можно смело отключать если уже настроили все раскладки и настройки клавиатуры заранее, ибо все предыдущие настройки сохраняются при отключении.
systemctl --user mask org.gnome.SettingsDaemon.Sound.service # Отключаем службу управления звуком GNOME. Отключает ТОЛЬКО настройки звука GNOME, а не вообще всё управлением звуком в системе.
systemctl --user mask org.gnome.SettingsDaemon.Smartcard.service # интеграция с кард-ридером
systemctl --user mask org.gnome.SettingsDaemon.Housekeeping.service # служба слежения за свободным местом на диске
systemctl --user mask org.gnome.SettingsDaemon.Power.service # служба управления электропитанием

# Для включения службы:
systemctl --user unmask --now СЛУЖБА

Если это плохо помогло, то наш вариант - gnome-shell-performance и mutter-performance. Они доступны в AUR - arch user repository.

Установить эти два пакета можно двумя способами:

  1. Обычный (через git):

git clone https://aur.archlinux.org/gnome-shell-performance
cd gnome-shell-performance
makepkg -sric

git clone https://aur.archlinux.org/mutter-performance
cd mutter-performance
makepkg -sric
  1. Через yay:

# Установка yay (раз и навсегда)
git clone https://aur.archlinux.org/yay
cd yay
makepkg -sric

yay -S gnome-shell-performance mutter-performance

Таким путем можно компилировать некоторые программы, например nautilus-git. Это немного может прибавить производительности за счет нативной компиляции. Но не стоит слишком сильно увлекаться компиляцией - иначе вам лучше бы установить Gentoo.

Ну и под конец, можно отключить анимации:

gsettings set org.gnome.desktop.interface enable-animations false

Оптимизация KDE

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

sudo pacman -Rsn kwayland-integration kwallet-pam plasma-thunderbolt plasma-vault powerdevil plasma-sdk kgamma5 drkonqi discover oxygen bluedevil plasma-browser-integration plasma-firewall
# Не удаляйте powerdevil если у вас  ноутбук, а bluedevil если используете bluetooth соответственно.

sudo pacman -Rsn plasma-pa     # Удаляем виджет управления звуком.
sudo pacman -S kmix            # Замена виджету plasma-pa, совместим с ALSA.

systemctl --user mask kde-baloo.service           # Полное отключение baloo (файловый индексатор)
systemctl --user mask plasma-baloorunner.service

Все остальные настройки хранятся в центре управления, и их легко найти. Отключите лишние анимации - и все.

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

Нехватка памяти — это частая проблема. Система начинает тормозить — подвисают окна, медленная работа. А почему это происходит? Ибо планировщик ядра Linux не может выполнить запрос на какое то действие в запущенной программе, пока не получит доступ к ее оперативной памяти, выполнить следующее действие тоже не может, образовывается очередь из запросов на чтение с диска, и система начинает медленно работать, потому что обработка очереди происходит медленнее.

Если в такой момент запустить htop, то показатель Load Average (LA) скорее всего будет высоким.

Часто на всех сайтах советуют выставить параметр vm.swappines вместо 60 на 10. На самом деле, не всегда это увеличит производительность. Этот элемент управления используется для определения того, насколько агрессивно ядро будет использовать подкачку страниц памяти. Более высокие значения увеличивают агрессивность, а низкие уменьшают объем подкачки. Значение 0 указывает ядру не запускать подкачку до тех пор, пока количество свободных страниц и страниц с файловой поддержкой не станет меньше максимального значения в зоне. Если подробнее, то значение от 0 до 100, которое определяет, в какой степени система предпочитает анонимную память или кэш страниц. Высокое значение повышает производительность файловой системы, в то же время менее активно вытесняя активные процессы из физической памяти. Низкое значение позволяет избежать перегрузки процессов из-за нехватки памяти, снижая производительность ввода-вывода. Увеличивается приоритет данных приложений, взамен ухудшается кэширование ввода-вывода.

Также можно включить zram — встроенный модуль ядра linux, который сжимает оперативную память путем увеличения нагрузки на процессор.

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

Для запуска zram нужно загрузить модуль ядра:

$ modprobe zram num_devices=2

После отредактируйте /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="... zram.num_devices=2 ..."

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

После можно делать с ними что угодно — можно создать SWAP-разделы:

echo '1024M' > /sys/block/zram0/disksize
echo '1024M' > /sys/block/zram1/disksize

mkswap /dev/zram0
mkswap /dev/zram1

swapon /dev/zram0 -p 10
swapon /dev/zram1 -p 10

Этот модуль работает как tmpfs — берется кусок памяти от имени ядра. Команды discard/trim это блочное устройство воспринимает примерно как SSD.

Оптимизация загрузки ядра

Вы можете немного изменить параметры загрузки ядра в GRUB, измените следующую строку в /etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="... loglevel=2 nowatchdog split_lock_detect=off processor.ignore_ppc=1 migrations=off msr.allow_writes=on pcie_aspm=force module.sig_unenforce cryptomgr.notests initcall_debug no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 tsc=reliable ..."

Небольшой совет

Если вы хотите больше скорости, можете установить вместо DE легкий WM.

Среди обыкновенных можно выделить openbox, icewm.

А также есть тайловые оконные менеджеры. Когда вы установите их, вы сможете стать членом касты тайломанов. И скорее всего начнете кастомизацию своей линукс-системы. Если вы хотите, могу сделать статью на тему кастомизации линукса от 0 до 1.

Среди тайловых оконных менеджеров можно выделить иксовые: DWM, bspwm, i3wm, а среди Wayland'овых - hyprland, sway. А также есть qtile - он написан на Python, и может запускать как и под X11, как и под Wayland.

Заключение

Используя весь этот пак оптимизаций, вы дадите буквально вторую жизнь своему старому устройству. Или просто ускорите работу вашего ПК, не прибегая к суровым методам (например установка Gentoo с оптимизиционными флагами компилятора).

И специально для вас я разработал баш-скрипт, который автоматизирует оптимизацию, очистку системы.

Этот репозиторий есть по ссылке. Весь репозиторий и комментарии на английском.

   ____        __  _    ___              __   
  / __ \____  / /_(_)  /   |  __________/ /_  
 / / / / __ \/ __/ /  / /| | / ___/ ___/ __ \ 
/ /_/ / /_/ / /_/ /  / ___ |/ /  / /__/ / / / 
\____/ .___/\__/_/  /_/  |_/_/   \___/_/ /_/  
    /_/                                       
   >>>   A tool for fast optimization of Arch

Источники

Комментарии (32)


  1. JordanCpp
    13.11.2024 15:01

    Гном - один из самых прожорливых DE. Но, по моему скромному мнению, один из лучших DE (конечно же вы можете считать по другому).

    Но можно попробовать оптимизировать его, путем отключения сервисов, и в совокупности со всей оптимизацией, он будет стабильно работать на 2гб ОЗУ

    Ничего себе оптимизация, стабильно работает на двух гигах:) Из коробки он сколько потребляет? Надо будет как-нибудь посмотреть на, что гном тратит столько озу, это же просто DE.

    Используя весь этот пак оптимизаций, вы дадите буквально вторую жизнь своему старому устройству. Или просто ускорите работу вашего ПК, не прибегая к суровым методам (например установка Gentoo с оптимизиционными флагами компилятора).

    Так может заюзать тогда lubuntu? Примерно 500 мб на старте системы. Бадум тыц:)


    1. DrArgentum Автор
      13.11.2024 15:01

      1. Насчёт гнома, он вроде ест как раз около полтора гб, если без оптимизаций. А я его как то смог настроить так, чтобы он на моем ноуте с 1.6 гб озу и 1ггц двухъядерном процессоре смог работать вполне себе сносно.

      2. lxqt немного потолстел, как по моему. Ну и плюс не слишком конфигурируемый. Я вообще гордый пользовтель оконных менеджеров :) Но я еще посоветую mate, он полегче xfce, как минимум у меня.

      3. Спасибо за комментарий!


  1. Testman2023
    13.11.2024 15:01

    Для запуска zram нужно загрузить модуль ядра

    Желательно читать wiki
    https://wiki.archlinux.org/title/Zram_(Русский)
    "...Так как zswap включен по умолчанию, перед включением zram его стоит отключить, чтобы он не работал как кэш подкачки перед zram..."
    https://wiki.archlinux.org/title/Zram


  1. AuToMaton
    13.11.2024 15:01

    Все и всякие оптимизации - ровно до того момента как запускается браузер, что нативно что под личиной приложения на Electron.

    Про zram написана правда, но не вся - zswap проще да лучше. А самый простой способ оптимизации - доставить SSD и поместить на него своп. SSD, естественно, самый быстрый из тех что не жалко.

    Какой DE лёгкий а какой нет обсуждать чтобы, как взвешивать надо договориться сперва. Однако, интуитивно ясно - KDE точно не самый лёгкий, но почему-то именно KDE работал плавнее всего, хотя и создавал (самый) большой своп, когда я выбирал DE для машины о четырёх гигах. Единственное что действительно нужно сделать с KDE - отключить или ограничить индексацию файлов.

    При отсутствии памяти самая мощная оптимизация - убрать автозагрузку DE. Особенно в случае когда старый компьютер не тянет ввиду отсутствия денег на новый. Я не буду писать об этом статью хотя и есть смысл, просто скажу - слабый системный блок + простенький планшет творят чудеса и по критерию стоимость/эффективность недостижимы, а уж если к ним добавить смартфон... Тем, у кого iPad и iPhone, пожалуй укажу направление движения мысли - rtorrent. А на крайний случай когда нет денег и на телевизор, то для первоначальной настройки достаточно либо сходить на работу напроситься в гости либо одолжить на вечер монитор, мышь и клавиатуру.

    Arch был несколько сложноват, точнее трудоёмок, в установке, но сейчас это исправлено. Зато Arch как был так и остаётся сложен в использовании поскольку часто требует делать выбор, для что вынуждает довольно глубоко познать все альтернативы. Поэтому я бы рекомендовал EndeavourOS - тот же Arch но многие выборы уже сделаны и (как по мне) верно, плюс набор полезных утилит.


    1. RedEyedAnonymous
      13.11.2024 15:01

      А самый простой способ оптимизации - доставить SSD и поместить на него своп.

      Тут же стало интересно - а как прореагирует система, когда тот ssd посыплется? Будет работать в режиме garbage in - garbage out?


  1. CrazyOpossum
    13.11.2024 15:01

    Обо всём и ни о чём, намешано разного в кучу.

    Earlyoom автоматически завершает программу, если она приводит к исчерпыванию всей свободной ОЗУ в системе, предотвращая ситуацию нехватки оперативной памяти – OOM. Условия срабатывания такие:

    От себя предложу по-взрослому - через cgroups. В файлах /etc/systemd/system/user-<uid>.slice, ~/.config/systemd/user/<program_name>.slice можно написать

    [slice]
    # cgroups настройки
    # Например для браузера
    MemoryHigh=8G
    MemorySwapHigh=1G
    OOMScoreAdjust=900
    
    # А для vlc, чтобы был приоритет на дисковые операции
    CPUWeight=200
    IOWeight=100000
    
    # А в user-1000.slice
    MemoryHigh=98%
    

    Тогда cgroups гарантирует, что эти процессы будут первыми кандидатами на отстрел и система не повиснет. Ну читаем man 5 systemd.resource-control и мануал по контроллерам cgroups.
    Чтобы стартовать программы в этих слайсах меняем ярлыки/алиасы на systemd-run --user --slice <slice_name>.slice firefox.
    А, и не забыть включить cgroups v2 в параметрах загрузки systemd.unified_cgroup_hierarchy=1.


    1. sdore
      13.11.2024 15:01

      Ну, и про systemd-oomd тоже не забываем, а не ставим левый софт :)


  1. arx3889
    13.11.2024 15:01

    Наверно, многие пришли к линуксу, когда их старый компьютер или ноутбук не тянул, или плохо тянул операционные системы от Microsoft.

    И ушли обратно. Потому что никогда Линукс не работал быстрее, чем соответствующая поколению старой машины винда. Ядро медленное само по себе и я в этом неоднократно убеждался на практике. Недоумеваю, кто придумал эту чушь с "вдыханием новой жизни" в старый ПК с помощью Линукса.

    Lubuntu, Xubuntu

    Я использую Линукс с 2009 года. Тогда ещё была актуальна XP и тогда же у меня был EeePC 700 c 512мб памяти и 2гб ssd, где с завода стояла та же XP. Так вот, по производительности Lubuntu была издевательством по сравнению с Windows, да и не влезала на встроенные 2гб, в отличие от XP.

    Так же я ставил убунты в районе 8-9 версий на P1 MMX, и могу сказать то же самое - никакого сравнения с Windows 98, даже с совсем минимальными оболочками вроде IceWM.


    1. anonymous
      13.11.2024 15:01

      НЛО прилетело и опубликовало эту надпись здесь


      1. arx3889
        13.11.2024 15:01

        Возможно, никогда не запускал XP на пеньках.

        Суть утверждения в том, что Линукс настолько грузовой для старых ПК уже в части самого ядра, что нет смысла обсуждать оптимизации.
        Скорее всего, автор под старыми ПК понимает не настолько старые. Но для них всё так же.

        Кстати, а что такое nt2k-ts? Не гуглится.


        1. anonymous
          13.11.2024 15:01

          НЛО прилетело и опубликовало эту надпись здесь


        1. winorun
          13.11.2024 15:01

          Мне в этом году понадобился ноутбук, я приобрел Б/У прямо из 12 года. Одно ядро с частотой 1.6 и память которую я расширил до 6 гб. О встроенной графики говорить не приходится. Так к чему я это. win 7 которая на нем стояла не позволяла запускать не современные браузеры, ни стим. Поставил debian последний. со старта потребление оперативной памяти около 100 мб. Спокойно поставил стим, зоопарк браузеров, офис и т.д. В итоге все поставленные задачи он выполняет и выполняет не плохо. Но делает он это ценой отсутствия кучи демонов и фоновых программ.

          Поэтому я с вами частично согласен, если взять современный linux воткнуть его со всем добром то от той же 10 он будет отличатся довольно мало. Начиная работу за рабочем компом меня встречает менеджер входа, автоматом монтируются сетевые диски, трей забит фоновыми программами, кто то (не в смысле кто то абстрактный, а кто то конкретный из кучи программ) постоянно лезет в сеть и к sdd. Идет синхронизация данных, создаются backup'ы. Это удобно и комфортно. Всего этого нет на домашнем ноуте, ну так половина из этого мне дома не нужна, а вторую приходится делать ручками. Такова цена производительности.


          1. arx3889
            13.11.2024 15:01

            win 7 которая на нем стояла не позволяла запускать не современные браузеры, ни стим.

            А почему не позволяла?


            1. winorun
              13.11.2024 15:01

              на самом деле некое лукавство, так как вивальди например ставится.

              но тот же firefox выдал

              "firefox больше не поддерживается для windows 8.1 и более ранних версий"

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


    1. CrazyOpossum
      13.11.2024 15:01

      Проблема в том, что старый windows просто нельзя выпускать в интернет, его там разнесут за 10 минут.


      1. anonymous
        13.11.2024 15:01

        НЛО прилетело и опубликовало эту надпись здесь


        1. arx3889
          13.11.2024 15:01

          https://www.youtube.com/watch?v=6uSVVCmOH5w
          Говорят, youtube плохо работает: обложки грузятся, а видео нет.


        1. arx3889
          13.11.2024 15:01

          @zombospas, не в курсе, что разбирали, но все и так понятно. Это к комментарию выше было.


        1. CrazyOpossum
          13.11.2024 15:01

          • любые публичные сети (кафе, гостиницы, любой IOT, который не настроен лично вами)

          • браузеры, потому что где вы найдёте браузер тех лет без дыр?

          upd: в комментах к тому же видео упоминают supermium в качестве браузера, ну мб.


          1. anonymous
            13.11.2024 15:01

            НЛО прилетело и опубликовало эту надпись здесь


            1. CrazyOpossum
              13.11.2024 15:01

              Я понимаю, что конкретно в видео проблема в белом адресе. Но по факту, любое скомпрометированное устройство в сети - до свидания. То есть в публичных будет всё то же самое. И плюс старые дыры в софте. На старом браузере только в инстаграм можно и я не уверен, что он будет работать.


    1. AuToMaton
      13.11.2024 15:01

      Я не ставил Убунты, я ставил Слаку и Генту, но тоже на какой-то то ли пенёк то ли на 436 или как его там было. Потому что кино на Windows дёргалось, а на Линукс воспроизводилось нормально.

      Fast forward. Сериалы жене на телевизоре показывает (полный цикл начиная от выбора и поиска) весьма старая машина с двумя гигами оперативы. Слегка тормозит. Windows 10 не шевелилась вообще.

      Так что в идее вдыхания новой жизни что-то есть…


      1. anonymous
        13.11.2024 15:01

        НЛО прилетело и опубликовало эту надпись здесь


      1. arx3889
        13.11.2024 15:01

        на какой-то то ли пенёк то ли на 436 или как его там было

        Возможно, вы путаете сокеты с поколениями x86. Какое уж там кино на P1, максимум mpeg1 320x240. А на 486 и подавно.

        весьма старая машина с двумя гигами оперативы. Слегка тормозит. Windows 10 не шевелилась вообще.

        Бывает. Я говорил изначально о соответсвии винды поколению машины.


        1. anonymous
          13.11.2024 15:01

          НЛО прилетело и опубликовало эту надпись здесь


    1. Ergistael
      13.11.2024 15:01

      Ну так винда платная, линукс бесплатный. Мне с флэшки проще работать на линуксе.


  1. Zamix80
    13.11.2024 15:01

    пёнек может уже значить и Пентиум4 уже вполне


  1. eyeDM
    13.11.2024 15:01

    https://wiki.archlinux.org/title/Improving_performance

    И да, несколько странно гнаться за производительность и ставить себе Гном или Плазму, а потом героически решать проблему нехватки RAM.


  1. omonraa
    13.11.2024 15:01

    в школе на ноут, довольно мощный, (8х8) по гос программе установили астра линукс.

    и вуаля, там где летала 10ка винда леп топ на говно-линуксе превратился в тыкву, мало подвижную и никуда не годную.

    Что могу сказать, что работая в линуусе откатился на лет 30 назад от прогресса в MS DOS.


    1. Jolt
      13.11.2024 15:01

      тут даже что-то внятное сложно ответить, слишком много хочется сказать, но вы не правы


  1. Bear_Head_Studio
    13.11.2024 15:01

    Как вы думаете, насколько важна установка планировщика (например, SCHED-EXT) для улучшения производительности?


  1. Ergistael
    13.11.2024 15:01

    С арча плевался дважды. В первый раз поставил на комп с внешней картой, после ее изъятия комп не казал картинку, только текст. Решить проблему не смог, совет от спецов — переустановить на встпойке, потом поставить внешнюю, если надо. Второй — вынул флешку до завершения работы, восстановить загрузку пока не смог. Минт же радует, на xfce.