Linux Hands-on 3 (Process Management)
6 min read

Sebagai pengguna Linux, Anda mungkin sudah familiar dengan perintah-perintah seperti ps, top, atau kill. Namun, tahukah Anda bagaimana cara kerja perintah-perintah tersebut dan bagaimana memanfaatkannya secara maksimal? Mari kita telusuri lebih dalam tentang Linux Process Management
Task 3.1: Start a Long-Running Process
sleep 500 &

Jadi, gini, di dunia Linux, kadang kita perlu "menunda" sesuatu. Nah, perintah sleep ini gunanya buat itu, semacam ngasih "jeda" sementara. Angka 500 di sini artinya kita mau nunda selama 500 detik.
Terus, tanda & di belakangnya itu apa? Nah, ini yang bikin seru. Tanda ini artinya kita mau perintah sleep ini jalan di "latar belakang" atau background. Jadi, sementara dia lagi "tidur" selama 500 detik, kita masih bisa tetep ngapa-ngapain di terminal, nggak perlu nungguin dia selesai.
Task 3.2: Simulate CPU and memory usage
stress --cpu 1 --vm 1 --vm-bytes 512M --timeout 30s

Komando ini adalah cara buat "menyiksa" komputer Linux kita, alias memberikan tekanan atau stress test biar kita tahu seberapa kuat dia. stress adalah alat yang populer untuk melakukan pengujian semacam ini.
stress: Ini adalah nama perintahnya, yaitu programstressitu sendiri.--cpu 1: Artinya, kita mau membebani CPU dengan 1 prosesor (atau core). Kalau komputer kamu punya banyak core, kamu bisa ganti angka 1 jadi angka lain sesuai kebutuhan.--vm 1: Artinya, kita mau membebani memori virtual (swap) dengan 1 proses.--vm-bytes 512M: Nah, ini yang menarik. Kita mau alokasikan 512 Megabyte (M) memori virtual untuk pengujian ini. Jadi,stressakan "pura-pura" menggunakan memori sebanyak ini.--timeout 30s: Artinya, kita mau batasi waktu pengujian hanya selama 30 detik. Jadi, setelah 30 detik,stressakan berhenti otomatis.
Kenapa pakai perintah ini?
Uji Ketahanan: Buat lihat seberapa kuat komputer kita, apakah dia stabil kalau dipaksa kerja keras.
Cari Masalah: Kadang, kalau ada masalah hardware atau software, baru ketahuan pas komputer lagi "stress".
Benchmark: Buat membandingkan performa komputer yang berbeda.
Task 3.3: Monitor System Usage
top

sudo apt install htop
htop

Singkatnya, top dan htop adalah alat yang sangat berguna di Linux untuk memantau aktivitas sistem secara real-time. Keduanya menampilkan daftar proses yang sedang berjalan, penggunaan CPU, memori, dan informasi penting lainnya. Anggap saja mereka seperti "jendela" yang menunjukkan apa yang sedang terjadi di dalam komputer Linux kita.
Keduanya menampilkan informasi yang mirip, antara lain:
Daftar Proses: Menampilkan semua proses yang sedang berjalan di sistem, lengkap dengan ID proses (PID), penggunaan CPU, memori, dan lain-lain.
Penggunaan CPU: Menunjukkan berapa persen CPU yang sedang digunakan.
Penggunaan Memori: Menunjukkan berapa banyak memori (RAM) yang sedang digunakan.
Waktu Sistem: Menunjukkan sudah berapa lama sistem berjalan.
Task 3.4: Verify the sleep process
ps -aux | grep sleep

ps -aux: Perintahpsdigunakan untuk menampilkan informasi tentang proses yang sedang berjalan. Opsi-auxmemberikan informasi yang lebih lengkap dan detail, termasuk semua proses (baik yang dimiliki oleh pengguna maupun sistem), dalam format yang mudah dibaca.grep sleep: Perintahgrepdigunakan untuk mencari pola teks tertentu dalam output dari perintah lain. Dalam hal ini, kita mencari kata "sleep".Tanda
|(pipa) di antara kedua perintah tersebut berfungsi untuk "menyalurkan" output dari perintahps -auxke perintahgrep sleep. Jadi,grep sleepakan mencari baris yang mengandung kata "sleep" dalam output darips -aux.
Kenapa pakai perintah ini?
Perintah ini sangat berguna untuk mencari proses yang berkaitan dengan perintah sleep. Misalnya, kamu ingin melihat apakah ada proses sleep yang sedang berjalan, atau kamu ingin mencari tahu berapa lama proses sleep tersebut sudah berjalan.
Task 3.5: Check disk space usage
df -h

du -h /home/sdb/ | sort -hr | head -n 10

df -h: Perintahdfdigunakan untuk menampilkan informasi tentang penggunaan ruang disk pada sistem. Opsi-hmembuat ukuran ditampilkan dalam format yang mudah dibaca (misalnya, KB, MB, GB). Namun, perintah ini tidak akan membantu kita melihat ukuran per folder.du -h /home/sdb/: Perintahdudigunakan untuk menampilkan penggunaan ruang disk per file dan direktori. Opsi-hsama seperti didf, membuat ukuran ditampilkan dalam format yang mudah dibaca./home/sdb/adalah jalur folder yang ingin kita analisis.|: Tanda pipa ini berfungsi untuk "menyalurkan" output dari perintah sebelumnya ke perintah selanjutnya.sort -hr: Perintahsortdigunakan untuk mengurutkan baris teks. Opsi-hmengurutkan berdasarkan ukuran yang mudah dibaca (misalnya, 10M lebih besar dari 2K), dan-rmembalik urutan (dari terbesar ke terkecil).head -n 10: Perintahheaddigunakan untuk menampilkan beberapa baris pertama dari input. Opsi-n 10berarti kita hanya ingin menampilkan 10 baris pertama.
Kenapa pakai perintah ini?
Perintah ini sangat berguna untuk mencari folder atau file mana yang memakan ruang disk paling banyak. Dengan begitu, kita bisa tahu folder atau file mana yang bisa dihapus atau dipindahkan untuk mengosongkan ruang disk.
Task 3.6: Monitor Memory Usage
free -h

Komando free -h adalah perintah sederhana di Linux yang digunakan untuk menampilkan informasi tentang penggunaan memori sistem, baik memori fisik (RAM) maupun memori swap. Opsi -h membuat outputnya lebih mudah dibaca oleh manusia.
Task 3.7: Log High CPU Usage Processes
while true; do ps -aux | awk '$3 > 10 {print $0}' >> high_cpu.log; sleep 5; done

while true: Ini adalah awal dari loop tak terbatas. Artinya, perintah-perintah di dalam loop akan terus diulang sampai kita menghentikannya secara manual (biasanya denganCtrl+C).do: Ini menandai awal dari blok perintah yang akan diulang.ps -aux: Seperti yang sudah dibahas sebelumnya, perintah ini menampilkan informasi lengkap tentang semua proses yang sedang berjalan.|: Tanda pipa ini "menyalurkan" output darips -auxke perintah selanjutnya.awk '$3 > 10 {print $0}': Perintahawkdigunakan untuk memfilter dan memproses teks. Dalam hal ini, kita memfilter baris-baris dari outputps -auxyang kolom ketiganya ($3, yang biasanya menunjukkan persentase penggunaan CPU) lebih besar dari 10.{print $0}mencetak seluruh baris jika kondisinya terpenuhi.>> high_cpu.log: Tanda>>digunakan untuk append (menambahkan) output dari perintahawkke filehigh_cpu.log. Jadi, setiap kali ada proses yang CPU-nya di atas 10%, informasinya akan ditambahkan ke file ini.sleep 5: Perintah ini akan menunda eksekusi selama 5 detik. Jadi, loop akan berjalan setiap 5 detik.done: Ini menandai akhir dari blok perintah yang akan diulang.
Kenapa pakai perintah ini?
Perintah ini berguna untuk memantau proses-proses yang "rakus" CPU. Kita bisa melihat proses mana saja yang menggunakan CPU di atas ambang batas tertentu (dalam hal ini 10%) dan menganalisisnya.
Task 3.8: Kill the long-running process
kill <PID>
Komando kill di Linux digunakan untuk mengakhiri atau "membunuh" sebuah proses yang sedang berjalan. <PID> adalah Process ID, yaitu nomor unik yang diberikan oleh sistem ke setiap proses yang sedang berjalan.
kill: Ini adalah nama perintahnya, yaitu programkillitu sendiri.<PID>: Ini adalah Process ID dari proses yang ingin kita akhiri. Kita perlu mengganti<PID>dengan nomor PID yang sebenarnya.
Cara Mendapatkan PID
Sebelum menggunakan perintah kill, kita perlu tahu dulu PID dari proses yang ingin kita akhiri. Ada beberapa cara untuk mendapatkan PID, antara lain:
Menggunakan perintah
topatauhtop: Kedua perintah ini menampilkan daftar proses yang sedang berjalan, lengkap dengan PID-nya.Menggunakan perintah
ps aux: Perintah ini juga menampilkan daftar proses, dan kita bisa mencari PID dari proses yang ingin kita akhiri.
