OS: PRAKTIKUM — Kernel Tuning Lab

From OnnoWiki
Revision as of 08:24, 14 February 2026 by Onnowpurbo (talk | contribs)
Jump to navigation Jump to search

PRAKTIKUM 6 — Kernel Tuning Lab Mengoptimalkan Kernel Linux untuk Beban Kerja Nyata Tujuan Praktikum Praktikum ini bertujuan memperkenalkan mahasiswa pada aktivitas kernel tuning berbasis observasi dan pengukuran, bukan asumsi. Mahasiswa tidak hanya “mengubah parameter”, tetapi memahami hubungan antara workload, kernel subsystem, dan performa sistem secara kuantitatif. Setelah menyelesaikan praktik ini, mahasiswa diharapkan mampu: Menganalisis bottleneck sistem (CPU, memori, I/O) berbasis data Melakukan kernel tuning yang aman tanpa compiling kernel Membandingkan performa sebelum dan sesudah tuning Menarik kesimpulan teknis berbasis benchmark Ini adalah kompetensi inti dari profil Kernel Tinkerer dalam peta kompetensi mata kuliah. Konteks Akademik Kernel Tuning Dalam sistem operasi modern, kernel tuning adalah proses penyesuaian parameter runtime kernel agar lebih sesuai dengan karakteristik beban kerja (workload) tertentu. Kernel Linux dirancang generik agar dapat berjalan di berbagai skenario—server, embedded, desktop—namun konfigurasi default tidak selalu optimal untuk setiap kasus. Beberapa prinsip penting: Kernel ≠ statis → banyak parameter dapat diubah saat sistem berjalan Tuning ≠ overclocking → fokus pada efisiensi, stabilitas, dan latensi Observasi → hipotesis → tuning → verifikasi adalah alur yang benar Dalam konteks buku Sistem Operasi, praktik ini adalah kelanjutan alami dari: BAB Arsitektur Kernel Linux BAB Compile Kernel PRAKTIK Kernel Module Lab

Persiapan Lingkungan Praktikum Spesifikasi Minimum VM Gunakan Ubuntu Server 24.04 dengan konfigurasi: CPU: 2 core RAM: 2–4 GB Disk: ≥ 40 GB (ext4) Login sebagai user biasa (bukan root) Instalasi Tool Benchmark & Monitoring Seluruh tool bersifat open source dan tersedia via APT: sudo apt update sudo apt install -y sysstat stress-ng fio linux-tools-common linux-tools-$(uname -r) Tool yang digunakan: stress-ng → simulasi workload sysstat (vmstat, iostat, mpstat) → observasi kernel behavior fio → benchmark disk I/O perf → observasi performa kernel (opsional lanjutan) Observasi Awal (Baseline Measurement) Snapshot Kondisi Sistem Awal Sebelum tuning apapun, rekam kondisi awal sistem. uname -a uptime free -h vmstat 1 5 iostat -xz 1 5 Catat: load average memory available swap usage I/O wait (%wa) Prinsip akademik penting Tanpa baseline, tuning tidak bermakna. Simulasi Workload Server Simulasi Beban CPU

stress-ng --cpu 2 --timeout 60s Amati: top atau htop mpstat -P ALL 1 Perhatikan distribusi beban CPU dan scheduler behavior. Simulasi Tekanan Memori

stress-ng --vm 1 --vm-bytes 80% --timeout 60s Amati: free -h vmstat 1 Indikator penting: swap in / swap out run queue (r) Simulasi Disk I/O

fio --name=randwrite --ioengine=libaio --rw=randwrite \ --bs=4k --numjobs=1 --size=1G --runtime=60 --group_reporting Amati: iostat -xz 1

Kernel Tuning (Aman & Runtime) Tuning Virtual Memory (Swappiness) Cek nilai default: cat /proc/sys/vm/swappiness Ubah (runtime): sudo sysctl vm.swappiness=10 Makna akademik Nilai lebih rendah → kernel lebih menghindari swap, cocok untuk server dengan RAM cukup. Tuning Dirty Page Writeback

sudo sysctl vm.dirty_ratio=15 sudo sysctl vm.dirty_background_ratio=5 Efek: Writeback lebih terkontrol Latensi I/O lebih stabil Tuning Scheduler (Latency Awareness)

cat /proc/sys/kernel/sched_latency_ns cat /proc/sys/kernel/sched_min_granularity_ns (Untuk observasi saja, tidak diubah pada level dasar demi keamanan lab.) Benchmark Ulang (After Tuning) Ulangi workload yang sama seperti Observasi Awal (Baseline Measurement) stress-ng CPU stress-ng memory fio disk Bandingkan: load average swap usage I/O wait responsiveness system

Bandingkan Before vs After Mahasiswa dianjurkan membuat tabel sederhana: Parameter Sebelum Sesudah Swap usage Tinggi Rendah I/O wait 30% 12% Respons SSH Lambat Stabil





Analisis Akademik Dalam praktik ini, mahasiswa belajar bahwa: Kernel tuning bersifat kontekstual, bukan universal Parameter kernel adalah trade-off Observasi lebih penting daripada “resep” Ini menegaskan filosofi buku: Kernel adalah sistem hidup yang bereaksi terhadap beban kerja. Refleksi OBE Setelah praktik ini, mahasiswa telah menunjukkan: ✅ Kemampuan analisis performa OS ✅ Pemahaman runtime kernel behavior ✅ Keterampilan tuning berbasis data ✅ Mental engineer, bukan sekadar user Challenge Mandiri (Fun & Menantang) Bandingkan vm.swappiness = 10 vs 60 Uji tuning di VM RAM kecil (1 GB) Logging hasil benchmark ke CSV Visualisasi sederhana (gnuplot / spreadsheet) Penutup Kernel tuning bukan sihir, melainkan dialog antara engineer dan sistem operasi. Mahasiswa yang menyelesaikan lab ini telah melangkah dari Linux user menuju Linux system engineer.

Pranala Menarik