Linux jest szybki od razu po instalacji, ale kilka parametrów kernela i serwisów znacząco poprawia responsywność na desktopie. Poniższe ustawienia są sprawdzone na Ubuntu, Debian i Fedorze.
Dla dysków SSD ustaw planistę none lub mq-deadline – domyślny cfq optymalizuje latencję dla HDD, na SSD tylko spowalnia:
# Sprawdź aktualny scheduler
cat /sys/block/sda/queue/scheduler
# Zmień na czas działania
echo none | sudo tee /sys/block/nvme0n1/queue/scheduler
# Trwała zmiana przez udev
echo 'ACTION=="add|change", KERNEL=="nvme[0-9]n[0-9]", ATTR{queue/scheduler}="none"' \
| sudo tee /etc/udev/rules.d/60-ioscheduler.rules
Wartość 60 (domyślna) agresywnie używa swapa. Na desktopie z ≥8 GB RAM ustaw 10:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.d/99-perf.conf
sudo sysctl -p /etc/sysctl.d/99-perf.conf
# /etc/fstab – dodaj te linie
tmpfs /tmp tmpfs defaults,noatime,size=512m 0 0
tmpfs /var/log tmpfs defaults,noatime,size=128m 0 0
cat /etc/sysctl.d/99-perf.conf
vm.swappiness=10
vm.dirty_ratio=15
vm.dirty_background_ratio=5
vm.vfs_cache_pressure=50
sudo apt install preload # Ubuntu/Debian
sudo systemctl enable --now preload
Preload analizuje wzorce uruchamiania aplikacji i ładuje je do RAM z wyprzedzeniem. Pierwsze uruchomienie po instalacji bez zmian, po 2–3 dniach Firefox czy LibreOffice startuję o ~30% szybciej.
sudo nano /etc/default/grub
# zmień:
GRUB_TIMEOUT=2
sudo update-grub
systemctl list-unit-files --state=enabled # sprawdź co działa
sudo systemctl disable bluetooth.service # jeśli nie używasz
sudo systemctl disable cups.service # jeśli nie drukujesz