Pengantar
Memahami pola interaksi antara aplikasi dan kernel sistem operasi merupakan kunci utama dalam investigasi masalah sistem di lingkungan Linux. Melalui panduan praktis ini, Anda akan mempelajari cara memasang dan mengoperasikan strace—sebuah utilitas diagnostik andal untuk memantau panggilan sistem (system call) secara langsung demi mengungkap akar masalah aplikasi yang bermasalah.
Instalasi strace dan Pelacakan Dasar System Call
Langkah pertama diawali dengan memperbarui repositori perangkat lunak dan menginstal utilitas strace ke dalam sistem Ubuntu Anda.

Selanjutnya, siapkan sebuah berkas teks pengujian dengan mengeksekusi perintah echo 'Linux strace test content' > /tmp/testfile.txt.

Fungsi utama strace adalah mencegat serta mencatat setiap pertukaran sinyal dan instruksi sistem (system call) yang dikirimkan aplikasi menuju kernel sepanjang proses berjalan.
Saat mengeksekusi program cat menggunakan strace, terminal akan memaparkan siklus hidup manipulasi berkas secara mendetail—mulai dari pembukaan file (openat), pembacaan bit data (read), pengiriman ke konsol (write), hingga penutupan deskriptor (close).
⚙️ [Parameter Pendukung yang Sering Digunakan]
-c : Menyajikan rekapitulasi statistik komprehensif, mencakup frekuensi eksekusi, total durasi pemrosesan, dan kalkulasi galat dari setiap panggilan sistem.-e : Menyaring pemantauan agar hanya menampilkan panggilan sistem atau kategori peristiwa tertentu.-o : Mengarahkan rekaman inspeksi langsung ke berkas log eksternal alih-alih membanjiri layar terminal.-p : Mengaitkan inspeksi ke proses aktif yang sedang berjalan menggunakan identifikasi PID tertentu.-T : Menampilkan informasi presisi mengenai durasi waktu yang dihabiskan untuk menyelesaikan masing-masing panggilan sistem.-tt : Menyertakan penanda waktu mikrodetik pada setiap baris pencatatan instruksi.-s : Mengatur batas panjang karakter maksimal (dalam satuan bita) saat menampilkan nilai argumen bertipe string.

Menyaring Panggilan Sistem Spesifik dengan Argumen -e trace
Instruksi strace -e trace=openat,read,write,close cat /tmp/testfile.txt berfungsi mengisolasi inspeksi agar terminal hanya memunculkan panggilan sistem openat, read, write, dan close.
Teknik penyaringan berbasis pemisahan koma ini sangat efektif memangkas keluaran data yang berlebih, sehingga Anda dapat berfokus membedah alur I/O berkas tanpa terdistraksi aktivitas rutin lainnya.

Selain menyebutkan nama panggilan secara manual, perintah strace -e trace=file ls -l /tmp/testfile.txt memanfaatkan kelas penyaring bawaan file untuk menangkap seluruh operasi yang berinteraksi dengan sistem berkas.
Langkah ini secara otomatis mencakup pengecekan hak akses, resolusi path, pencarian atribut berkas, serta operasi direktori terkait tanpa perlu mendefinisikan masing-masing fungsi secara terpisah.

Analisis Statistik dan Deteksi Hambatan Performa (-c)
Perintah strace -c ls -la /usr/bin > /dev/null dipakai untuk mengukur metrik kerja saat sistem menelusuri isi direktori padat seperti /usr/bin.
Dengan membuang keluaran standar ke /dev/null, Anda akan memperoleh tabel ringkasan terstruktur saat perintah usai yang menguraikan proporsi alokasi waktu, durasi total, akumulasi pemanggilan, hingga indikasi kegagalan sistem call.

Pengujian efisiensi juga dapat diterapkan pada operasi pencarian teks, misalnya melalui strace -c grep -rn 'root' /etc/passwd > /dev/null.
Teknik ini membantu administrator melacak komponen sistem yang menjadi titik sumbatan (bottleneck) beban kerja—seperti lamanya penanganan pembacaan berkas—sehingga perbaikan kinerja sistem dapat diprioritaskan secara akurat.

Mengaitkan Pelacakan ke Proses Berjalan dan Ekspor Log (-p, -o)
Untuk menyimulasikan analisis proses dinamis yang berjalan di latar belakang (background), jalankan perintah sleep 100 &.

Simpan nomor identifikasi unik proses yang baru saja dibuat ke dalam variabel shell melalui TARGET_PID=$!.

Eksekusi strace -p $TARGET_PID -o /tmp/strace_output.log -t & akan segera menautkan tracer ke proses aktif tersebut, memproses pengamatan di latar belakang, dan membubuhkan stempel waktu detik ke dalam berkas penyimpanan log /tmp/strace_output.log.
Pendekatan ini sangat aman digunakan pada peladen produksi karena tidak mengunci terminal interaktif dan memberikan arsip log yang siap dibedah saat proses audit.

Beri jeda sejenak menggunakan perintah sleep 1 guna memastikan antarmuka strace berhasil menempel sempurna pada alur target.

Setelah data pemantauan dirasa mencukupi, matikan proses pengujian latar belakang menggunakan perintah kill $TARGET_PID.

Untuk menelaah rekaman yang berhasil dihimpun, buka baris awal berkas penampung lewat perintah head -n 20 /tmp/strace_output.log.
Dari catatan tersebut, Anda dapat mengonfirmasi urutan sistem call secara transparan, termasuk momen ketika sinyal terminasi SIGTERM diterima hingga proses benar-benar dibersihkan oleh sistem operasi.

Kemampuan menelusuri lapisan terdalam Linux menggunakan strace memberikan keunggulan teknis yang nyata dalam mendiagnosis keanehan sistem.
Tatkala Anda berhadapan dengan freeze, konsumsi CPU yang tidak wajar, atau galat tanpa pesan yang jelas, gunakan utilitas ini untuk mengidentifikasi perilaku internal kernel secara cepat dan tuntas.