Perangkat lama tidak rusak secara acak — polanya bisa dipelajari. Debu bertahun menutup heatsink, RAM kecil bertemu web yang makin rakus, disk penuh pelan-pelan oleh update, dan WiFi adapter era 2010 kehilangan dukungan driver. Bab penutup section ini merangkum lima masalah paling khas ke dalam tabel gejala, membedah satu gejala paling membingungkan (swap thrashing), melatih diagnosa bertahap dari pemeriksaan termurah, dan ditutup pertanyaan paling jujur dari semuanya: kapan sebaiknya berhenti memperbaiki.
Lima Masalah Khas dan Tabelnya #
Lima keluhan berikut mencakup sebagian besar kunjungan “perangkat lama sakit”. Tabel ini adalah peta cepatnya — penjelasan tiap baris menyusul di bagian bawah:
| Gejala | Penyebab paling mungkin | Tindakan pertama |
|---|---|---|
| Mati mendadak saat panas, kipas berisik | debu menutup heatsink, thermal paste kering, fan sekarat | bersihkan, ukur dengan sensors |
| Lampu disk menyala terus, mouse patah-patah | swap thrashing — RAM kewalahan | kurangi aplikasi, aktifkan zram |
| Update gagal, notifikasi disk penuh | log, cache, dan kernel lama menumpuk | bersihkan sesuai Chapter Optimasi Storage |
| WiFi sering putus atau tak mau nyambak | driver/firmware usang | periksa dmesg, pertimbangkan adapter USB |
| Bodi melengkung, touchpad miring | baterai menggembung | hentikan pemakaian, ganti baterai |
Bedah Gejala: Swap Thrashing #
Satu gejala pantas dibedah khusus karena sering disalahartikan sebagai “komputernya mau mati”. Skenarionya: RAM penuh, jadi kernel memindahkan halaman ke swap (di HDD); tetapi aplikasi yang sedang jalan juga butuh halamannya kembali, maka halaman itu ditarik balik — lalu ditukar keluar lagi, ditarik balik lagi, berulang tanpa akhir. Siklus inilah swap thrashing: disk bekerja terus-menerus (lampunya menyala tanpa jeda), sementara CPU justru nyaris nganggur karena semua orang antre di disk. Gejalanya khas dan mudah dikenali: sistem masih hidup tetapi membeku bergelombang — mouse melompat patah-patah, klik baru terasa beberapa detik kemudian, musik berhenti berulang. Bandingkan dengan CPU yang benar-benar kewalahan: di sana disk sepi, lag merata, dan load average tinggi — cara membacanya dibahas di Chapter Performance Bottlenecks .
Dugaan thrashing dikonfirmasi dengan satu perintah: vmstat 1 menampilkan kolom si dan so — swap-in dan swap-out dalam satuan halaman per detik. Kedua angka yang terus bergerak jauh di atas nol pada mesin yang sedang terasa beku adalah sidik jarinya. Karena output vmstat asli berubah setiap detik, kita melatih pembacaannya pada fixture statis:
cat > vmstat-laptop.txt <<'AKHIR'
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa
2 1 988 120 260 410 640 610 50 720 180 420 6 3 40 51
AKHIR
awk '$1 ~ /^[0-9]+$/ {
printf "si (swap-in) : %d halaman/detik\n", $7
printf "so (swap-out): %d halaman/detik\n", $8
if ($7 > 100 || $8 > 100) print "=> kemungkinan thrashing: halaman lalu-lalang setiap detik"
else print "=> lalu lintas swap masih wajar"
}' vmstat-laptop.txtOutput yang Dihasilkan:
si (swap-in) : 640 halaman/detik
so (swap-out): 610 halaman/detik
=> kemungkinan thrashing: halaman lalu-lalang setiap detikBedah potongan awk di atas:
- Baris 7 (
$1 ~ /^[0-9]+$/): headervmstatternyata dua baris dan keduanya diawali huruf, jadi pola “kolom pertama angka murni” hanya meloloskan baris data — idiom yang sama dengan latihantopdi Chapter CPU Monitoring . - Baris 8–9 (
$7dan$8): pada baris datavmstat, kolom ketujuh dan kedelapan adalahsidanso; keduanya dijadikan satu-satunya fokus karena itulah pertanyaannya — bukan seluruh tabel. - Baris 10–11 (uji ambang): bila salah satu arah melewati 100 halaman per detik, lalu lintas halaman dinyatakan tidak wajar; ambang sengaja kasar agar alarm berbunyi lebih dulu, analisis menyusul.
- Kolom ujung fixture (
id 40 wa 51): setengah waktu core menganggur menunggu I/O — persis wajah thrashing yang dibedah di atas, bukan CPU yang kurang kuat.
Obat thrashing sendiri sudah kita siapkan di Chapter Optimasi RAM : kurangi pemakaian, atau beri kernel “swap” murah berupa zram.
Diagnosa Bertahap: Dari yang Termurah #
Urutan pemeriksaan mengikuti prinsip yang sama dengan Chapter Troubleshooting Performance : mulai dari yang termurah dan paling informatif.
- Suhu.
sensorsdari paketlm-sensorsmembaca sensor termal. Berikut contoh tampilannya pada laptop yang heatsink-nya tersumbat debu:
acpitz-acpi-0
Adapter: ACPI interface
temp1: +84.0°C
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +82.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +80.0°C (high = +105.0°C, crit = +105.0°C)Angka 84°C saat komputer nyaris idle jelas tidak normal — ambang high dan crit ikut tercetak sehingga maknanya langsung terbaca. Panas berlebih pada mesin tua hampir selalu berarti debu, thermal paste yang mengering, atau kipas yang sekarat; ketiganya adalah pekerjaan fisik, bukan software.
- Memori.
free -mseperti Chapter Mengukur Penggunaan Resource : swap yang terus penuh menegaskan baris kedua tabel di atas. - Ruang disk.
df -h: partisi yang menyerempet 100 persen membuat update gagal dan sistem berperilaku aneh. - Driver.
dmesg | grep -iE 'firmware|error|fail'menelusurikan kegagalan memuat firmware — pola umum untuk WiFi tua. Sintaks lengkapdmesgada di dmesg(1) danfreedi free(1) .
Skrip Mini: Diagnosis dari Metrik #
Langkah-langkah di atas bisa dirangkum menjadi keputusan otomatis: baca sekumpulan metrik, cocokkan dengan ambang, keluarkan temuannya. Kita latih pada dua fixture — laptop yang sehat dan laptop yang bermasalah:
cat > diagnosis-lama.sh <<'SKRIP'
#!/bin/bash
# diagnosis-lama.sh <file-metrik>
ambil() { awk -v kunci="$1" '$1 == kunci { print $2 }' "$2"; }
suhu=$(ambil suhu_cpu "$1")
fan=$(ambil fan_rpm "$1")
swapin=$(ambil swap_in_per_menit "$1")
disk=$(ambil disk_terpakai_persen "$1")
temu=0
if [ "$fan" -eq 0 ]; then
echo "FAN MATI: kipas berhenti - hentikan pemakaian, periksa kipas"
temu=1
elif [ "$suhu" -gt 80 ]; then
echo "OVERHEAT: CPU $suhu C - bersihkan debu, ganti thermal paste"
temu=1
fi
if [ "$swapin" -gt 2000 ]; then
echo "SWAP THRASHING: $swapin halaman/menit - RAM kurang, kurangi aplikasi atau aktifkan zram"
temu=1
fi
if [ "$disk" -gt 90 ]; then
echo "DISK HAMIR PENUH: $disk% - bersihkan cache, log, dan kernel lama"
temu=1
fi
if [ "$temu" -eq 0 ]; then
echo "semua metrik dalam batas wajar"
fi
SKRIP
cat > metrik-laptop-baik.txt <<'AKHIR'
suhu_cpu 62
fan_rpm 2400
swap_in_per_menit 90
disk_terpakai_persen 63
AKHIR
cat > metrik-laptop-sakit.txt <<'AKHIR'
suhu_cpu 84
fan_rpm 0
swap_in_per_menit 5400
disk_terpakai_persen 96
AKHIR
bash diagnosis-lama.sh metrik-laptop-baik.txt
echo "---"
bash diagnosis-lama.sh metrik-laptop-sakit.txtOutput yang Dihasilkan:
semua metrik dalam batas wajar
---
FAN MATI: kipas berhenti - hentikan pemakaian, periksa kipas
SWAP THRASHING: 5400 halaman/menit - RAM kurang, kurangi aplikasi atau aktifkan zram
DISK HAMIR PENUH: 96% - bersihkan cache, log, dan kernel lamaBedah skrip dan hasilnya:
- Baris 4 (
ambil()): fungsi bantu mencari nilai sebuah kunci pada file metrik —awkmencocokkan field pertama dengan nama kunci lalu mencetak angkanya. - Baris 12–18 (tangga
if/elif): kipas mati diperiksa sebelum suhu tinggi — dan sengaja demikian: fan yang berhenti sudah menjelaskan suhu 84°C, jadi satu akar masalah cukup dilaporkan sekali. - Baris 20–28 (tiga ambang): swap-in di atas 2000 halaman per menit ditetapkan sebagai tanda thrashing; disk di atas 90 persen sebagai tanda bahaya ruang. Ambang ini kasar tetapi berfungsi sebagai alarm dini.
- Baris 30–32 (
ifpenutup): mesin sehat tidak mencetak apa pun selain satu baris “dalam batas wajar” — laporan pendek saat sehat, laporan lengkap saat bermasalah. - Baris 49–51 (dua pemanggilan): kontras dua fixture membuktikan bahwa keputusan skrip bergeser mengikuti datanya; di mesin nyata, angka-angka itu didapat dari
sensors,free,vmstat, dandflalu disusun ke formatkunci nilai.
Kapan Menyerah: Batas Ekonomis #
Bagian ini tidak populer, tetapi jujur. Dua perbaikan hampir selalu sepadan untuk laptop tua: SSD pengganti HDD dan penambahan RAM — keduanya murah relatif terhadap harga laptop pengganti, dan keduanya menyelesaikan dua kemacetan paling umum (seek mekanis dan tekanan memori) sekaligus. Di bawah itu, distro ringan plus semua optimasi section ini memang menghidupkan kembali perangkat — tetapi bila setelah semuanya CPU tetap kewalahan menampilkan web modern dan perbaikan berikutnya mulai mendekati harga perangkat baru, saatnya menghentikan investasi. Perangkat yang dipensiunkan belum selesai: mesin tua yang tak sanggup jadi desktop masih sangat layak jadi server rumah ringan dari Chapter Memilih Distro Ringan — tanpa layar, tanpa desktop, bekerja diam-diam di sudut rumah.
Pola-pola yang kita tangani di section ini — ukur dulu, pangkas yang tak perlu, setel sisanya, dan akui batasnya — adalah versi ringkas dari disiplin yang jauh lebih luas: membaca gejala sistem secara metodis. Keterampilan itu sudah kita latih sejak Chapter Uptime dan Load Average , dan referensi cepatnya terkumpul di Section Sumber Belajar untuk dipanggil kapan pun perangkat berikutnya mulai bersin.