Lewati ke konten
Kembali ke Blog

Optimasi Performa Linux: Tips Mempercepat Boot Time dan Aplikasi

· · 8 menit baca

Performa sistem operasi adalah faktor krusial untuk produktivitas. Linux yang terkonfigurasi dengan baik bisa sangat responsif, bahkan pada hardware lama. Artikel ini akan membahas teknik-teknik optimasi performa Linux yang terbukti efektif untuk mempercepat boot time dan meningkatkan responsiveness aplikasi.

Analisis Boot Time Saat Ini

Sebelum melakukan optimasi, penting untuk mengukur baseline performa.

Mengukur Boot Time dengan systemd-analyze

# Total boot time
systemd-analyze

Output contoh:

Startup finished in 4.123s (kernel) + 2.456s (userspace) = 6.579s

Detail boot time per service

systemd-analyze blame

Output menampilkan service yang paling lama loading:

1.234s NetworkManager.service

987ms docker.service

654ms apache2.service

...

Visualisasi chain dependency

systemd-analyze critical-chain

Plot boot time dalam format SVG

systemd-analyze plot > boot-analysis.svg

Menggunakan bootchart untuk Analisis Detail

# Install bootchart
sudo apt install bootchart

Reboot dan generate chart

Chart akan tersedia di /var/log/bootchart/

Analisis hasil untuk melihat bottleneck

Optimasi Boot Time

1. Disable Unnecessary Services

Service yang tidak dibutuhkan memperlambat boot dan menggunakan resource.

# List semua enabled services
systemctl list-unit-files --state=enabled

Cek service yang lama startup-nya

systemd-analyze blame | head -20

Disable service yang tidak dibutuhkan

Contoh: Bluetooth (jika tidak pakai)

sudo systemctl disable bluetooth sudo systemctl stop bluetooth

Contoh: Printer service (jika tidak ada printer)

sudo systemctl disable cups sudo systemctl stop cups

Contoh: Modem manager

sudo systemctl disable ModemManager

Contoh: Avahi (jika tidak butuh network discovery)

sudo systemctl disable avahi-daemon

Service yang umumnya bisa di-disable untuk desktop:
bluetooth (jika tidak pakai BT devices)
cups (jika tidak ada printer)
ModemManager (jika tidak pakai modem)
avahi-daemon (jika tidak butuh network discovery)
snapd (jika tidak pakai snap packages)
containerd (jika tidak pakai Docker)

2. Optimize Filesystem Mount Options

Edit /etc/fstab untuk optimasi mount:

# Backup fstab
sudo cp /etc/fstab /etc/fstab.backup

Edit fstab

sudo nano /etc/fstab

Optimasi untuk SSD:

# Tambahkan noatime untuk mengurangi write
UUID=xxx / ext4 noatime,errors=remount-ro 0 1

Atau gunakan relatime (lebih balance)

UUID=xxx / ext4 relatime,errors=remount-ro 0 1

Optimasi untuk HDD:

# Tambahkan defaults, discard jika SSD
UUID=xxx / ext4 defaults 0 1

3. Optimize GRUB Bootloader

# Edit GRUB config
sudo nano /etc/default/grub

Optimasi GRUB:

# Reduce GRUB timeout
GRUB_TIMEOUT=1
# atau langsung boot default:
GRUB_TIMEOUT=0

Hide GRUB menu (untuk single OS)

GRUB_TIMEOUT_STYLE=hidden

Reduce kernel boot messages (faster boot)

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Disable IPv6 jika tidak dibutuhkan (bisa mempercepat boot)

GRUB_CMDLINE_LINUX="ipv6.disable=1"

Apply changes

sudo update-grub

4. Optimize initramfs

Initramfs (initial RAM filesystem) bisa dioptimasi untuk boot lebih cepat.

# Check current initramfs size
ls -lh /boot/initrd.img-*

Compress dengan faster algorithm

sudo nano /etc/initramfs-tools/initramfs.conf

Ubah:

COMPRESS=zstd

atau

COMPRESS=xz

Rebuild initramfs

sudo update-initramfs -u

Untuk Fedora/RHEL

sudo dracut --force

5. Use Lightweight Display Manager

GDM (GNOME Display Manager) berat. Alternatif yang lebih ringan:

# Install LightDM (lebih ringan)
sudo apt install lightdm
sudo dpkg-reconfigure lightdm

Atau SDDM untuk KDE

sudo apt install sddm sudo dpkg-reconfigure sddm

Atau langsung ke TTY tanpa display manager (paling cepat)

Tapi harus login manual startx atau wayland

6. Disable Unnecessary Kernel Modules

# List loaded modules
lsmod

Blacklist module yang tidak dibutuhkan

sudo nano /etc/modprobe.d/blacklist.conf

# Contoh: Disable PC speaker beep
blacklist pcspkr

Contoh: Disable firewire (jika tidak dipakai)

blacklist firewire_core blacklist firewire_ohci

Contoh: Disable Thunderbolt (jika tidak dipakai)

blacklist thunderbolt

Optimasi Runtime Performance

1. Optimize Swappiness

Swappiness mengontrol seberapa agresif kernel menggunakan swap.

# Cek current swappiness
 cat /proc/sys/vm/swappiness
# Default: 60 (0-100)

Untuk desktop, lebih baik swappiness rendah

Supaya RAM dipakai maksimal, swap jarang

Temporary (sampai reboot)

sudo sysctl vm.swappiness=10

Permanent

sudo nano /etc/sysctl.conf

Tambahkan:

vm.swappiness=10

Rekomendasi swappiness:
– Desktop/laptop dengan RAM >= 8GB: 10
– Server database: 1-10
– Desktop dengan RAM < 4GB: 30-40

2. Optimize I/O Scheduler

# Cek scheduler saat ini untuk setiap disk
 cat /sys/block/sda/queue/scheduler

Ganti scheduler (contoh untuk SSD, gunakan none atau mq-deadline)

echo 'none' | sudo tee /sys/block/sda/queue/scheduler

Permanent dengan udev rule

sudo nano /etc/udev/rules.d/60-ssd-scheduler.rules

# SSD: use none (for NVMe) atau mq-deadline
ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="none"

HDD: use bfq atau mq-deadline

ACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq"

3. Enable SSD TRIM (untuk SSD)

TRIM menjaga SSD performance tetap optimal.

# Cek apakah TRIM enabled
systemctl status fstrim.timer

Enable periodic TRIM (untuk Ubuntu 18.04+)

sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer

Atau gunakan continuous TRIM di fstab (less recommended)

UUID=xxx / ext4 discard,noatime,errors=remount-ro 0 1

Manual TRIM

sudo fstrim -av /

4. Optimize CPU Governor

# Install cpufrequtils (jika belum)
sudo apt install cpufrequtils

Cek available governors

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

Set governor (contoh: performance untuk desktop)

echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils

Atau untuk laptop (balance): ondemand atau schedutil

echo 'GOVERNOR="schedutil"' | sudo tee /etc/default/cpufrequtils

Restart service

sudo systemctl restart cpufrequtils

Manual per-core

echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

5. Disable Unnecessary Visual Effects

Untuk GNOME:

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

Reduce shadow effects

gsettings set org.gnome.shell.extensions.user-theme name ""

Disable window effects

Install GNOME Tweaks untuk kontrol lebih

sudo apt install gnome-tweaks

Untuk KDE Plasma:

# System Settings > Desktop Behavior > Desktop Effects
# Disable: Animations, Window Effects yang tidak perlu

6. Optimize Browser Performance

Browser adalah aplikasi yang paling banyak menggunakan resource.

Firefox:

# about:config optimizations:
# browser.cache.disk.enable = false (jika SSD kecil)
# browser.sessionstore.interval = 60000 (kurangi session write)
# browser.tabs.firefox-view = false (disable Firefox View)

Chrome/Chromium:
– Enable hardware acceleration
– Limit extensions yang aktif
– Gunakan flags: --enable-gpu-rasterization --enable-zero-copy

7. Preload Frequently Used Applications

# Install preload
sudo apt install preload

Preload akan belajar pola penggunaan dan preload aplikasi yang sering dipakai

Tidak perlu konfigurasi, berjalan otomatis

Check status

systemctl status preload

8. Use Ananicy untuk Auto-tune Priority

Ananicy mengatur nice/priority proses otomatis.

# Install ananicy
sudo apt install ananicy

Enable dan start

sudo systemctl enable ananicy sudo systemctl start ananicy

Konfigurasi custom (opsional)

sudo nano /etc/ananicy.d/custom.rules

Optimasi Memory Usage

1. Identify Memory Hogs

# Top processes by memory usage
ps aux --sort=-%mem | head -20

Atau dengan htop (interactive)

sudo apt install htop htop

Memory usage detail

smem -p

2. Clear Cache (jika memory penuh)

# Clear PageCache only
sudo sync && echo 1 | sudo tee /proc/sys/vm/drop_caches

Clear dentries and inodes

sudo sync && echo 2 | sudo tee /proc/sys/vm/drop_caches

Clear PageCache, dentries and inodes

sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

Disable swap sementara dan enable kembali (clear swap)

sudo swapoff -a && sudo swapon -a

3. Reduce Memory Fragmentation

# Enable compaction
sudo sysctl -w vm.compact_memory=1

Permanent

sudo nano /etc/sysctl.conf

vm.compact_memory=1

Optimasi Disk Space

1. Clean Up System

# Clean package cache
sudo apt clean
sudo apt autoremove

Remove unused packages

sudo apt autoremove --purge

Clean old kernels (Ubuntu)

sudo apt autoremove --purge

Clean snap versions lama

snap list --all | awk '/disabled/{print $1, $3}' | while read snapname revision; do sudo snap remove "$snapname" --revision="$revision" done

Clean journal logs

sudo journalctl --vacuum-time=7d sudo journalctl --vacuum-size=100M

Clean thumbnails

rm -rf ~/.cache/thumbnails/*

Clean old logs

sudo find /var/log -type f -name " .gz" -mtime +30 -delete sudo find /var/log -type f -name ".log.*" -mtime +30 -delete

2. Find Large Files

# Find largest directories
du -h / 2>/dev/null | sort -rh | head -20

Find large files (>100MB)

find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null

Check home directory

ncdu ~

Install: sudo apt install ncdu

Monitoring Performa Berkelanjutan

1. Setup Monitoring Tools

# Install sar (system activity reporter)
sudo apt install sysstat

Enable data collection

sudo sed -i 's/false/true/' /etc/default/sysstat sudo systemctl restart sysstat

Lihat CPU usage history

sar -u -f /var/log/sysstat/sa01

Lihat memory usage history

sar -r -f /var/log/sysstat/sa01

2. Use netdata untuk Real-time Monitoring

# Install netdata
curl -sSL https://my-netdata.io/kickstart.sh | sudo bash

Akses via browser: http://localhost:19999

Lihat real-time CPU, Memory, Disk, Network stats

Kesimpulan

Optimasi performa Linux adalah proses berkelanjutan. Dengan menerapkan teknik-teknik di atas, Anda bisa mendapatkan:

  1. Boot time lebih cepat dengan disable unnecessary services dan optimize bootloader
  2. Aplikasi lebih responsif dengan optimasi I/O scheduler dan swappiness
  3. Resource usage lebih efisien dengan disable bloatware dan visual effects
  4. SSD lifetime lebih panjang dengan TRIM dan noatime
  5. Sistem lebih stabil dengan monitoring dan regular cleanup

Mulailah dengan analisis boot time menggunakan systemd-analyze, kemudian terapkan optimasi secara bertahap. Test setiap perubahan dan rollback jika ada masalah.

Ingat: “Premature optimization is the root of all evil” – optimasi saat dibutuhkan, jangan over-optimize dan merusak stability.

Ditulis oleh

Hendra Wijaya

Tinggalkan Komentar

Email tidak akan ditampilkan.