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) |
||
| (One intermediate revision by the same user not shown) | |||
| 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 | + | |
| − | ss -tulpen | + | ===Analisis Socket & Port=== |
| + | ss -tulpen | ||
Digunakan untuk: | Digunakan untuk: | ||
| − | Mengetahui service apa yang listening | + | * Mengetahui service apa yang listening |
| − | Verifikasi port konflik | + | * Verifikasi port konflik |
| − | Audit exposed services | + | * Audit exposed services |
| − | Monitoring Trafik Sederhana | + | |
| − | ip -s link | + | ===Monitoring Trafik Sederhana=== |
| + | ip -s link | ||
Perhatikan: | Perhatikan: | ||
| − | RX/TX error | + | * RX/TX error |
| − | dropped packets | + | * dropped packets |
Tool sederhana ini sering diabaikan, padahal sangat efektif untuk troubleshooting cepat. | Tool sederhana ini sering diabaikan, padahal sangat efektif untuk troubleshooting cepat. | ||
| − | Service Management (systemd Survival Skills) | + | ==Service Management (systemd Survival Skills)== |
| − | Filosofi systemd | + | ===Filosofi systemd=== |
Di Ubuntu 24.04, semua service dikelola oleh systemd. Ini menggantikan init.d dan memberikan: | Di Ubuntu 24.04, semua service dikelola oleh systemd. Ini menggantikan init.d dan memberikan: | ||
| − | Dependency management | + | * Dependency management |
| − | Logging terintegrasi | + | * Logging terintegrasi |
| − | Kontrol service yang konsisten | + | * Kontrol service yang konsisten |
| − | Status & Kontrol Service | + | |
| + | ===Status & Kontrol Service=== | ||
Cek status service | Cek status service | ||
| − | systemctl status ssh | + | systemctl status ssh |
Start / Stop / Restart | Start / Stop / Restart | ||
| − | sudo systemctl start nginx | + | sudo systemctl start nginx |
| − | sudo systemctl stop nginx | + | sudo systemctl stop nginx |
| − | sudo systemctl restart nginx | + | sudo systemctl restart nginx |
Enable saat boot | Enable saat boot | ||
| − | sudo systemctl enable nginx | + | sudo systemctl enable nginx |
Analisis Log dengan journalctl | Analisis Log dengan journalctl | ||
| − | journalctl -u ssh --since "10 minutes ago" | + | journalctl -u ssh --since "10 minutes ago" |
| − | journalctl -xe | + | journalctl -xe |
journalctl adalah alat forensik pertama ketika service gagal. | journalctl adalah alat forensik pertama ketika service gagal. | ||
| − | |||
| − | systemctl --failed | + | ===Deteksi Service Bermasalah=== |
| + | systemctl --failed | ||
Output ini sering menjadi jawaban tercepat saat server “tiba-tiba tidak jalan”. | Output ini sering menjadi jawaban tercepat saat server “tiba-tiba tidak jalan”. | ||
| − | Mini Survival Scenario (Latihan Tantangan) | + | ==Mini Survival Scenario (Latihan Tantangan)== |
Skenario: | Skenario: | ||
| − | Server terasa lambat, user mengeluh SSH delay, dan web service sering timeout. | + | Server terasa lambat, user mengeluh SSH delay, dan web service sering timeout. |
Langkah diagnosa yang wajib berurutan: | Langkah diagnosa yang wajib berurutan: | ||
| − | top → CPU atau I/O? | + | * top → CPU atau I/O? |
| − | free -h → swap aktif? | + | * free -h → swap aktif? |
| − | iostat → disk saturated? | + | * iostat → disk saturated? |
| − | ss -tulpen → service overload? | + | * ss -tulpen → service overload? |
| − | journalctl -xe → error log | + | * journalctl -xe → error log |
Tidak lompat langkah. Tidak menebak. Semua berbasis observasi. | Tidak lompat langkah. Tidak menebak. Semua berbasis observasi. | ||
| − | Refleksi Akademik & Relevansi OS | + | |
| + | ==Refleksi Akademik & Relevansi OS== | ||
Praktikum ini secara langsung menghubungkan: | Praktikum ini secara langsung menghubungkan: | ||
| − | Konsep kernel scheduling | + | * Konsep kernel scheduling |
| − | Manajemen memori | + | * Manajemen memori |
| − | I/O subsystem | + | * I/O subsystem |
| − | Networking stack | + | * Networking stack |
| − | Service orchestration | + | * 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 . | 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 | + | |
| + | ==Output yang Diharapkan== | ||
Mahasiswa mampu: | Mahasiswa mampu: | ||
| − | Mendiagnosa sistem Linux tanpa GUI | + | * Mendiagnosa sistem Linux tanpa GUI |
| − | Menjelaskan sebab, bukan sekadar gejala | + | * Menjelaskan sebab, bukan sekadar gejala |
| − | Mengambil keputusan teknis berbasis data | + | * Mengambil keputusan teknis berbasis data |
| − | Siap lanjut ke Kernel & Tuning Lab | + | * Siap lanjut ke Kernel & Tuning Lab |
| − | |||
==Pranala Menarik== | ==Pranala Menarik== | ||
* [[Sistem operasi]] | * [[Sistem operasi]] | ||
Latest revision as of 05:41, 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