Difference between revisions of "OS: PRAKTIKUM — Linux Survival Lab"
Onnowpurbo (talk | contribs) (Created page with "PRAKTIKUM 3 — Linux Survival Lab Tujuan Praktikum ini dirancang untuk membentuk mentalitas Linux survivor: mahasiswa tidak panik ketika sistem bermasalah, mampu mendiagnosis...") |
Onnowpurbo (talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | + | ==Tujuan== | |
| − | Tujuan | ||
Praktikum ini dirancang untuk membentuk mentalitas Linux survivor: mahasiswa tidak panik ketika sistem bermasalah, mampu mendiagnosis bottleneck, serta mengambil keputusan teknis berbasis data. Fokus utama adalah observasi sistem secara langsung, bukan sekadar teori. | Praktikum ini dirancang untuk membentuk mentalitas Linux survivor: mahasiswa tidak panik ketika sistem bermasalah, mampu mendiagnosis bottleneck, serta mengambil keputusan teknis berbasis data. Fokus utama adalah observasi sistem secara langsung, bukan sekadar teori. | ||
| + | |||
Mahasiswa akan belajar bahwa Linux menyediakan semua visibility yang dibutuhkan administrator — tanpa GUI, tanpa software proprietary — cukup dengan command-line tools bawaan. | Mahasiswa akan belajar bahwa Linux menyediakan semua visibility yang dibutuhkan administrator — tanpa GUI, tanpa software proprietary — cukup dengan command-line tools bawaan. | ||
| − | Diagnosa CPU, RAM, dan Disk | + | |
| − | Prinsip Dasar Diagnosa Sistem | + | ==Diagnosa CPU, RAM, dan Disk== |
| + | ===Prinsip Dasar Diagnosa Sistem=== | ||
Dalam sistem operasi modern, performa buruk hampir selalu berasal dari salah satu dari tiga sumber utama: | Dalam sistem operasi modern, performa buruk hampir selalu berasal dari salah satu dari tiga sumber utama: | ||
| − | CPU bottleneck | + | * CPU bottleneck |
| − | Memory pressure | + | * Memory pressure |
| − | I/O bottleneck (disk atau network) | + | * I/O bottleneck (disk atau network) |
Pendekatan survival yang benar adalah observasi → hipotesis → verifikasi, bukan menebak. | Pendekatan survival yang benar adalah observasi → hipotesis → verifikasi, bukan menebak. | ||
| − | Diagnosa CPU Load & Scheduling | + | |
| + | ===Diagnosa CPU Load & Scheduling=== | ||
Mengamati beban CPU secara real-time | Mengamati beban CPU secara real-time | ||
| − | top | + | top |
Fokuskan perhatian pada: | Fokuskan perhatian pada: | ||
| − | load average → beban sistem relatif terhadap jumlah core | + | * load average → beban sistem relatif terhadap jumlah core |
| − | %CPU → proses yang rakus CPU | + | * %CPU → proses yang rakus CPU |
| − | us / sy / id / wa → distribusi waktu CPU | + | * us / sy / id / wa → distribusi waktu CPU |
Rule of thumb: | Rule of thumb: | ||
| − | load average > jumlah core → sistem mulai overloaded | + | * load average > jumlah core → sistem mulai overloaded |
| − | %wa tinggi → CPU menunggu disk (I/O bound) | + | * %wa tinggi → CPU menunggu disk (I/O bound) |
Alternatif yang lebih human-friendly: | Alternatif yang lebih human-friendly: | ||
| − | htop | + | htop |
htop memperlihatkan core per core, sangat membantu untuk memahami scheduler behavior . | htop memperlihatkan core per core, sangat membantu untuk memahami scheduler behavior . | ||
| − | Diagnosa Memory (RAM & Swap) | + | |
| + | ===Diagnosa Memory (RAM & Swap)=== | ||
Snapshot penggunaan memori | Snapshot penggunaan memori | ||
| − | free -h | + | free -h |
Perhatikan: | Perhatikan: | ||
| − | available memory (bukan sekadar free) | + | * available memory (bukan sekadar free) |
| − | swap usage → indikator tekanan memori | + | * swap usage → indikator tekanan memori |
Observasi dinamis | Observasi dinamis | ||
| − | vmstat 2 | + | vmstat 2 |
Kolom penting: | Kolom penting: | ||
| − | si/so (swap in / swap out) | + | * si/so (swap in / swap out) |
| − | r (run queue) | + | * r (run queue) |
| − | wa (I/O wait) | + | * wa (I/O wait) |
Swap aktif + sistem lambat = memory pressure serius | Swap aktif + sistem lambat = memory pressure serius | ||
| − | Diagnosa Disk & I/O | + | |
| + | ===Diagnosa Disk & I/O=== | ||
Identifikasi partisi & kapasitas | Identifikasi partisi & kapasitas | ||
| − | + | df -h | |
| − | df -h | + | lsblk |
| − | lsblk | ||
I/O wait & throughput | I/O wait & throughput | ||
| − | iostat -xz 2 | + | iostat -xz 2 |
Interpretasi: | Interpretasi: | ||
| − | %util mendekati 100% → disk saturated | + | * %util mendekati 100% → disk saturated |
| − | await tinggi → latency tinggi | + | * await tinggi → latency tinggi |
Ini sejalan dengan konsep I/O scheduler & monitoring pada buku Sistem Operasi klasik, tetapi kini diaplikasikan langsung . | Ini sejalan dengan konsep I/O scheduler & monitoring pada buku Sistem Operasi klasik, tetapi kini diaplikasikan langsung . | ||
| − | Network Debugging (Troubleshooting Jaringan) | + | ==Network Debugging (Troubleshooting Jaringan)== |
| − | Verifikasi Interface & IP Address | + | ===Verifikasi Interface & IP Address=== |
| − | ip a | + | ip a |
| − | ip route | + | ip route |
Pastikan: | Pastikan: | ||
| − | Interface UP | + | * Interface UP |
| − | IP address sesuai desain lab | + | * IP address sesuai desain lab |
| − | Default route tersedia | + | * Default route tersedia |
| − | Uji Konektivitas Dasar | + | |
| − | ping 8.8.8.8 | + | ===Uji Konektivitas Dasar=== |
| − | ping google.com | + | ping 8.8.8.8 |
| + | ping google.com | ||
Jika IP bisa diping tapi DNS gagal → masalah DNS, bukan jaringan fisik. | Jika IP bisa diping tapi DNS gagal → masalah DNS, bukan jaringan fisik. | ||
| − | Analisis Socket & Port | + | |
| + | ===Analisis Socket & Port=== | ||
ss -tulpen | ss -tulpen | ||
Digunakan untuk: | Digunakan untuk: | ||
Revision as of 05:09, 14 February 2026
Tujuan
Praktikum ini dirancang untuk membentuk mentalitas Linux survivor: mahasiswa tidak panik ketika sistem bermasalah, mampu mendiagnosis bottleneck, serta mengambil keputusan teknis berbasis data. Fokus utama adalah observasi sistem secara langsung, bukan sekadar teori.
Mahasiswa akan belajar bahwa Linux menyediakan semua visibility yang dibutuhkan administrator — tanpa GUI, tanpa software proprietary — cukup dengan command-line tools bawaan.
Diagnosa CPU, RAM, dan Disk
Prinsip Dasar Diagnosa Sistem
Dalam sistem operasi modern, performa buruk hampir selalu berasal dari salah satu dari tiga sumber utama:
- CPU bottleneck
- Memory pressure
- I/O bottleneck (disk atau network)
Pendekatan survival yang benar adalah observasi → hipotesis → verifikasi, bukan menebak.
Diagnosa CPU Load & Scheduling
Mengamati beban CPU secara real-time
top
Fokuskan perhatian pada:
- load average → beban sistem relatif terhadap jumlah core
- %CPU → proses yang rakus CPU
- us / sy / id / wa → distribusi waktu CPU
Rule of thumb:
- load average > jumlah core → sistem mulai overloaded
- %wa tinggi → CPU menunggu disk (I/O bound)
Alternatif yang lebih human-friendly:
htop
htop memperlihatkan core per core, sangat membantu untuk memahami scheduler behavior .
Diagnosa Memory (RAM & Swap)
Snapshot penggunaan memori
free -h
Perhatikan:
- available memory (bukan sekadar free)
- swap usage → indikator tekanan memori
Observasi dinamis
vmstat 2
Kolom penting:
- si/so (swap in / swap out)
- r (run queue)
- wa (I/O wait)
Swap aktif + sistem lambat = memory pressure serius
Diagnosa Disk & I/O
Identifikasi partisi & kapasitas
df -h lsblk
I/O wait & throughput
iostat -xz 2
Interpretasi:
- %util mendekati 100% → disk saturated
- await tinggi → latency tinggi
Ini sejalan dengan konsep I/O scheduler & monitoring pada buku Sistem Operasi klasik, tetapi kini diaplikasikan langsung .
Network Debugging (Troubleshooting Jaringan)
Verifikasi Interface & IP Address
ip a ip route
Pastikan:
- Interface UP
- IP address sesuai desain lab
- Default route tersedia
Uji Konektivitas Dasar
ping 8.8.8.8 ping google.com
Jika IP bisa diping tapi DNS gagal → masalah DNS, bukan jaringan fisik.
Analisis Socket & Port
ss -tulpen Digunakan untuk: Mengetahui service apa yang listening Verifikasi port konflik Audit exposed services Monitoring Trafik Sederhana ip -s link Perhatikan: RX/TX error dropped packets Tool sederhana ini sering diabaikan, padahal sangat efektif untuk troubleshooting cepat.
Service Management (systemd Survival Skills) Filosofi systemd Di Ubuntu 24.04, semua service dikelola oleh systemd. Ini menggantikan init.d dan memberikan: Dependency management Logging terintegrasi Kontrol service yang konsisten Status & Kontrol Service Cek status service systemctl status ssh Start / Stop / Restart sudo systemctl start nginx sudo systemctl stop nginx sudo systemctl restart nginx Enable saat boot sudo systemctl enable nginx Analisis Log dengan journalctl journalctl -u ssh --since "10 minutes ago" journalctl -xe journalctl adalah alat forensik pertama ketika service gagal. Deteksi Service Bermasalah
systemctl --failed Output ini sering menjadi jawaban tercepat saat server “tiba-tiba tidak jalan”.
Mini Survival Scenario (Latihan Tantangan) Skenario: Server terasa lambat, user mengeluh SSH delay, dan web service sering timeout. Langkah diagnosa yang wajib berurutan: top → CPU atau I/O? free -h → swap aktif? iostat → disk saturated? ss -tulpen → service overload? journalctl -xe → error log Tidak lompat langkah. Tidak menebak. Semua berbasis observasi. Refleksi Akademik & Relevansi OS Praktikum ini secara langsung menghubungkan: Konsep kernel scheduling Manajemen memori I/O subsystem Networking stack Service orchestration Semua topik inti sistem operasi tidak lagi abstrak, melainkan terlihat dan terukur — sesuai filosofi “OS is observable” yang ditekankan dalam buku Sistem Operasi praktis . Output yang Diharapkan Mahasiswa mampu: Mendiagnosa sistem Linux tanpa GUI Menjelaskan sebab, bukan sekadar gejala Mengambil keputusan teknis berbasis data Siap lanjut ke Kernel & Tuning Lab