CPU berada di 100%
Cara menemukan proses yang menghabiskan inti CPU, membedakan beban nyata dari disk wait, dan memutuskan apakah akan memperbaiki kode atau pindah ke tier yang lebih tinggi.
Diperbarui 23 Agustus 2026
Dataran tinggi pada grafik CPU di tab “Overview” bukanlah keadaan darurat dengan sendirinya: membangun proyek atau membuat arsip memang akan menggunakan semua core secara wajar lalu melepaskannya. Yang mengkhawatirkan adalah ketika dataran tinggi itu berlangsung berjam-jam dan mesin berhenti merespons. Mari kita cari tahu penyebabnya.
Langkah 1. Lihat apa yang mengonsumsi sumber daya
Tab “Screen” (VNC) nyaman untuk bekerja dengan program layar penuh:
btop
htop
Konsol serial tidak meneruskan ukuran jendela; di sana selalu 80×24, sehingga antarmuka akan terpotong. Untuk konsol teks, gunakan perintah standar:
top -b -n1 | head -20
ps aux --sort=-%cpu | head -10
Ingat aritmetikanya: %CPU dihitung per core. 400% pada VDS-3 berarti keempat core, sedangkan 100% pada VDS-4 hanya satu dari enam.
Langkah 2. Bedakan CPU dari disk
Rata-rata beban (load average) juga naik karena I/O wait, bukan hanya karena komputasi:
uptime
vmstat 1 5
Pada keluaran vmstat, perhatikan kolom us (kode pengguna), sy (kernel), wa (disk wait), dan st (stolen time). wa yang besar berarti CPU menganggur menunggu disk — hambatannya adalah kecepatan tulis, bukan komputasi. Dataran tinggi disk pada tier kami ditetapkan oleh aturan: tulis 60 MB/s per core, tidak lebih rendah dari 60 dan tidak lebih tinggi dari 400 MB/s, baca dua kali lipatnya, dan burst tiga kali di atas dataran tinggi berlangsung 30 detik. Jika suatu tugas menulis terus-menerus, burst akan berakhir dan Anda akan mencapai dataran tinggi.
Langkah 3. Selidiki proses tertentu
pidstat -p <pid> 1 5
cat /proc/<pid>/status
journalctl -u <service> -n 100 --no-pager
Temuan yang umum:
- aplikasi web berputar dalam loop tak terbatas setelah permintaan yang gagal;
- basis data menjalankan kueri tanpa indeks — periksa log slow query miliknya sendiri;
- cron job dimulai lebih sering daripada kemampuannya menyelesaikan, dan instansnya menumpuk:
ps aux | grep <name>akan menampilkan selusin salinan; - miner yang masuk ke mesin melalui kata sandi root yang lemah. Tandanya adalah proses dengan nama tak bermakna yang berjalan di bawah pengguna non-standar dan bandwidth keluar yang tinggi. Dalam kasus ini, lebih mudah menginstal ulang mesin dari tab “Access” daripada membersihkannya.
Langkah 4. Batasi, jangan bunuh
Jika prosesnya dibutuhkan tetapi tidak boleh mengganggu yang lain:
renice -n 15 -p <pid>
systemctl set-property myapp.service CPUQuota=200%
CPUQuota=200% adalah dua core penuh. Batas systemd bertahan setelah layanan di-restart; renice tidak.
Sebelum membunuh proses dengan
kill -9, cobasystemctl stopbiasa. Membunuh basis data secara paksa membuat Anda menanggung file yang rusak dan pemulihan yang lama pada start berikutnya.
Ketika bukan kodenya yang salah
Jika bebannya wajar dan konstan, CPU Ryzen 9 7950X menjalankan tugasnya — core-nya memang tidak cukup untuk tugas tersebut. Tier hanya dapat diubah ke atas, dengan pembayaran tambahan untuk sisa hari periode berbayar: lihat artikel Upgrading your plan and paying the difference. Turun kembali tidak tersedia, jadi pastikan dulu dari grafik mingguan dan bulanan bahwa dataran tinggi itu bukan kejadian sekali waktu.