全部产品
Search
文档中心

Simple Application Server:Memecahkan dan mengatasi penggunaan CPU tinggi pada instans Windows

更新时间:Dec 24, 2025

Topik ini menjelaskan cara memecahkan dan mengatasi penggunaan CPU tinggi pada instans Windows.

Deskripsi masalah

Penggunaan CPU pada instans Windows dianggap tinggi jika mencapai 80% atau lebih.

Kemungkinan penyebab

Penggunaan CPU tinggi dapat disebabkan oleh hal-hal berikut:

  • Instans terinfeksi virus atau trojan.

  • Perangkat lunak antivirus pihak ketiga sedang berjalan pada instans.

  • Aplikasi atau driver pada instans mengalami anomali, atau suatu aplikasi memiliki penggunaan I/O tinggi atau laju interrupt yang tinggi.

Solusi

Langkah 1: Menentukan sumber masalah

Pada instans Windows, Anda dapat menggunakan tool seperti Task Manager dan Resource Monitor untuk menentukan penyebab penggunaan CPU tinggi. Topik ini menggunakan Resource Monitor pada sistem operasi Windows Server 2022 sebagai contoh.

Berikut cara menggunakan Resource Monitor pada Windows Server 2022 untuk mengidentifikasi penyebab penggunaan CPU tinggi.

  1. Gunakan koneksi VNC untuk terhubung ke Simple Application Server. Untuk informasi selengkapnya, lihat Connect to a server for rescue (console).

  2. Di bagian bawah desktop, klik tombol Search, masukkan Resource Monitor, lalu klik OK.

  3. Pada jendela Resource Monitor, periksa proses-proses yang menyebabkan penggunaan CPU tinggi.

    image

  4. Catat ID proses (PID) dan nama proses tersebut.

  5. Buka jendela Task Manager, klik tab Details, lalu temukan proses berdasarkan nama dan PID yang telah dicatat. Klik kanan setiap nama proses, pilih Open file location, lalu periksa apakah proses tersebut merupakan program berbahaya.

Langkah 2: Menganalisis dan mengatasi masalah

Tentukan apakah proses yang menyebabkan penggunaan CPU tinggi merupakan proses normal atau abnormal, lalu ikuti langkah-langkah yang sesuai untuk mengatasi masalah tersebut.

Kemungkinan penyebab

Operasi

Proses normal

Secara umum, akses bisnis yang sering atau layanan Windows seperti layanan pembaruan dapat mengonsumsi traffic jaringan dan resource CPU yang tinggi.

Catatan
  • Untuk instans Windows Server 2008 atau Windows Server 2012, konfigurasikan setidaknya memori sebesar 2 GiB.

  • Jika Anda menggunakan instans dengan 1 vCPU dan memori 1 GiB yang menjalankan Windows Server 2012, layanan Windows Update akan secara otomatis menjalankan pembaruan, sehingga menyebabkan lonjakan tiba-tiba pada penggunaan CPU. Hal ini normal.

  • Periksa apakah Windows Update sedang berjalan di latar belakang.

  • Instal perangkat lunak antivirus pada server untuk memindai virus. Jika perangkat lunak antivirus sudah terinstal, periksa apakah pemindaian sedang berjalan di latar belakang saat penggunaan CPU tinggi. Jika memungkinkan, upgrade perangkat lunak antivirus ke versi terbaru atau hapus perangkat lunak tersebut.

  • Periksa apakah aplikasi pada server melakukan banyak akses disk atau akses jaringan, atau memiliki kebutuhan komputasi yang tinggi. Coba upgrade tipe instans ke tipe yang memiliki lebih banyak core atau memori untuk mengatasi bottleneck resource. Untuk informasi selengkapnya, lihat Upgrade configurations.

  • Jika server Anda sudah memiliki konfigurasi tinggi, melakukan peningkatan lebih lanjut mungkin tidak efektif. Konfigurasi server yang lebih tinggi tidak selalu lebih baik untuk arsitektur tertentu. Dalam kasus ini, coba pisahkan aplikasi dengan menempatkan aplikasi berbeda pada server berbeda dan optimalkan program terkait.

    Sebagai contoh, gunakan ApsaraDB RDS untuk menghost database Anda. Hal ini mengurangi konsumsi resource server dan jumlah panggilan internal. Untuk optimasi program, Anda dapat melakukan penyesuaian berdasarkan konfigurasi Anda. Operasi spesifik meliputi menyesuaikan jumlah koneksi, konfigurasi cache, serta berbagai parameter untuk panggilan web dan database.

Proses abnormal

Penggunaan CPU yang sangat tinggi secara abnormal dapat disebabkan oleh virus atau trojan berbahaya. Terkadang, program berbahaya pihak ketiga dapat menyamar sebagai svchost.exe atau Tcpsvcs.exe—proses sistem operasi—dan menyebabkan penggunaan CPU tinggi. Anda harus menemukan dan menghentikan proses abnormal tersebut secara manual.

Catatan

Jika Anda tidak dapat menentukan apakah suatu proses merupakan virus atau trojan, cari nama proses tersebut di internet untuk memastikannya. Sebelum menghapus proses tersebut, buat snapshot untuk backup data Anda. Untuk informasi selengkapnya, lihat Create a snapshot.

  • Jalankan Windows Update untuk menginstal patch keamanan Microsoft terbaru.

  • Gunakan MSConfig untuk menonaktifkan semua layanan dan driver non-Microsoft, lalu periksa apakah masalah masih berlanjut. Untuk informasi selengkapnya, lihat How to perform a clean boot in Windows.

  • Jika server atau situs Anda sedang mengalami serangan DDoS atau serangan flood HTTP, banyak permintaan akses akan dihasilkan dalam waktu singkat. Anda dapat login ke konsol Security Center untuk memeriksa apakah ambang batas Perlindungan DDoS dikonfigurasi dengan benar dan apakah Perlindungan flood HTTP diaktifkan. Jika serangan tidak memicu ambang batas dan Security Center tidak melakukan pembersihan lalu lintas, hubungi dukungan purnajual untuk mengaktifkan pembersihan lalu lintas.

Tool umum

Bagian berikut menjelaskan tool yang digunakan untuk menentukan penyebab penggunaan CPU tinggi di Windows.

Task Manager

Task Manager menampilkan daftar aplikasi yang sedang berjalan, yang membantu Anda mengidentifikasi aplikasi dengan penggunaan CPU tinggi. Gambar berikut menunjukkan halaman Task Manager.

image

Saat memeriksa penggunaan CPU pada tab Performance, klik kanan grafik penggunaan CPU dan pilih Change graph to > Logical processors.

Gambar berikut menunjukkan penggunaan dua CPU logis.

image

Jika penggunaan CPU dari satu proses melonjak hampir mencapai 100% sementara penggunaan CPU proses lain tidak berubah signifikan, penyebabnya kemungkinan adalah pemrosesan I/O jaringan.

Resource Monitor

Resource Monitor menyediakan tampilan grafis penggunaan CPU. Anda juga dapat mencari proses terkait berdasarkan handle dan modul.

image

Process Explorer

Process Explorer adalah tool Microsoft Sysinternals. Dengan mengonfigurasi simbol yang tepat, Anda dapat memeriksa tumpukan panggilan (call stacks) thread aplikasi untuk menemukan driver yang berpotensi bermasalah. Untuk mengunduh Process Explorer, kunjungi Process Explorer.

Gambar berikut menunjukkan antarmuka Process Explorer.

image

Performance Monitor

Performance Monitor adalah tool Microsoft untuk mengumpulkan counter performa dari berbagai komponen. Untuk menganalisis konsumsi resource CPU sistem, Anda dapat memeriksa beberapa counter berikut.

Tiga parameter inti berikut terkait dengan performa:

  • \Processor(_Total)\% Processor Time: Persentase waktu prosesor mengeksekusi thread non-idle. \Processor(_Total)\% Processor Time = \Processor(*)\% User Time + \Processor(*)\% Privileged Time.

  • \Processor(*)\% User Time: Menunjukkan waktu yang dikonsumsi prosesor untuk mengeksekusi kode program. Counter ini membantu Anda menentukan aplikasi atau panggilan fungsi mana yang menghabiskan lebih banyak waktu.

  • \Processor(*)\% Privileged Time: Waktu yang dihabiskan aplikasi untuk mengeksekusi system call di kernel, seperti panggilan untuk driver, paket permintaan I/O (IRPs), dan context switch. Jika sistem operasi menghabiskan lebih dari 30% waktunya dalam Privileged Time, instans tersebut sedang melakukan operasi terkait throughput I/O tinggi.

    Saat % Privileged Time tinggi, Anda perlu memeriksa lebih lanjut % DPC Time, % Interrupt Time, dan Context Switches/sec.

    • Nilai % DPC Time dan % Interrupt Time yang tinggi menunjukkan bahwa perangkat yang tidak dikenal sedang melakukan banyak operasi atau memiliki performa buruk.

    • Nilai Context Switch yang tinggi menunjukkan bahwa kernel sering melakukan switching antar proses atau thread. Untuk informasi selengkapnya, lihat The Case of the 2 Million Context Switches dan Mark Russinovich's The Case of the System Process CPU Spikes.

      Nilai Context Switches/sec yang tinggi menunjukkan bahwa banyak thread berada dalam status Ready. Anda perlu mengurangi jumlah thread untuk mengatasi masalah tersebut.