Bagaimana cara melacak Utilisasi CPU untuk Layanan Jendela?

27

Saya menggunakan task manager windows untuk melacak utilisasi CPU. Saya perhatikan bahwa aplikasi saya terdaftar tetapi Layanan Windows tidak.

Misalnya, total penggunaan CPU terdaftar pada 70% tetapi ringkasan aplikasi yang terdaftar hanya sekitar 30%. Saya berasumsi perbedaannya adalah dari layanan yang tidak terdaftar di tab Proses di Windows Task Manager.

anak ayam
sumber

Jawaban:

25

Berikut cara mendapatkan detail pada layanan tanpa alat eksternal pada Windows 7 dan 8:

Buka Monitor Sumber Daya:

  • Buka Task Manager dan klik pada tab Performance
  • Klik pada "Open Resource Monitor" di bagian bawah

Tampilkan Detail Layanan:

  • Klik pada tab "CPU"
  • Di bagian "Proses", cari proses yang Anda inginkan; Anda dapat mengurutkan berdasarkan CPU dengan mengklik tajuk kolom "CPU"
    • Centang kotak di sebelahnya
  • Luaskan bagian "Layanan" di bawah ini; Anda akan melihat layanan spesifik mana yang menggunakan CPU

masukkan deskripsi gambar di sini

Saya harus mencari tahu ini karena svchost menghabiskan banyak sumber daya dan ini adalah satu-satunya cara saya bisa melihat bahwa upnphost adalah pelakunya.

andreas dominik
sumber
Ada juga bagian "Layanan" yang dapat Anda kembangkan di bawah "Proses". Either way, terima kasih!
Nicholas Riley
Itulah yang saya bicarakan, senang Anda menemukannya :-) dengan memilih proses di bawah "Proses" (seperti svchost tertentu dalam kasus saya), Anda dapat melihat layanan di tampilan "Layanan" yang terkait dengan itu proses.
dominik andreas
Akhirnya, saya akan dapat melacak layanan misterius yang menggunakan 1 CPU pada 100% di windows 7, hanya ketika layar saya mati setelah 15 menit idle. Segera setelah saya membangunkannya, layanan melepaskan CPU yang digunakannya. Saya hanya melihat cukup untuk melihat itu "svchost" ... sekarang, dengan rata-rata 60 detik, saya akan punya waktu untuk melihatnya. Botnet sial!
MrBrody
7

Mungkin alat terbaik adalah Process Explorer dari Sysinternals. Anda bisa mendapatkan alat itu dan banyak lainnya di sini .

Sunting: Untuk melihat layanan mana yang berjalan di svchost alih-alih sebagai proses yang terpisah, Anda perlu menambahkan kolom "Baris Perintah" ke jendela kanan. Sayangnya ini tidak akan menampilkan layanan yang dibundel bersama. Untuk melihat informasi itu di Process Explorer, Anda perlu meletakkan mouse Anda di atas instance spesifik svchost yang dimaksud. Informasi akan muncul dalam sembulan.

KevinH
sumber
Anda juga dapat memilih untuk memiliki procmon ganti taskman. Procmon melakukan ini dengan mendaftarkan dirinya sebagai debugger untuk taskman dan hanya menjalankan sendiri alih-alih taskman ketika sesuatu ingin memulai taskman.
Brian Reiter
Aduh. Bukan procmon, maksud saya procexp. (Procmon menjadi alat lain dari sysinternals yang memungkinkan Anda menonton registri, sistem file dan akses windows API untuk proses.)
Brian Reiter
Perhatikan bahwa jika Anda menggunakan File> Show Details for All Processes, Anda kemudian dapat menggunakan tab Threads di properti proses untuk instance svchost.exe (klik dua kali proses atau tekan Enter) untuk melihat penggunaan CPU per-thread, dan kolom Layanan akan mencantumkan layanan yang sesuai.
Nicholas Riley
Di ProcessExplorer, tab [Layanan] dan [TCP / IP] memberi saya informasi berharga tentang identifikasi layanan tertentu. Ada juga cara lain untuk mengidentifikasi layanan melalui klik kanan mouse di Task Manager standar yang saya posting di bawah ini sebagai jawaban terpisah.
Alex Fortuna
1

Coba manajer Tugas Ekstensoft Free Extensoft

http://www.extensoft.com/?p=downloads

Buka tab Layanan dan klik kanan pada layanan yang berjalan, lalu klik Pergi ke Proses .

Ini akan membawa Anda kembali ke tab Proses dan menyoroti Proses apa yang digunakan oleh layanan itu.

Qwerty
sumber
Saya menginstal task manager diperpanjang extensoft gratis. Itu memang menambah tab layanan. Saya klik pada layanan dan pilih pergi ke proses. Itu beralih ke tab proses tetapi tidak menyoroti proses. Juga, apakah ada alat yang menunjukkan penggunaan CPU dari semua layanan dalam daftar (mirip dengan daftar proses di task manager)? Catatan: Saya menggunakan Windows Vista Home Premium Edition.
Saya tidak yakin mengapa ini tidak menyoroti prosesnya. Saya juga memiliki mesin Vista di sebelah saya dan itu menunjukkan proses apa yang terkait dengan layanan.
Qwerty
1

Banyak layanan berjalan di dalam instance dari proses host generik, svchost.exe. Anda dapat menggunakan tasklist / svc di baris perintah untuk mendapatkan penghitungan layanan yang berjalan di dalam setiap instance svchost.exe bersama dengan proses lainnya.

Anda juga dapat mengklik kanan pada proses svchost.exe di task manager dan memilih "Pergi ke Layanan" dan taskman akan beralih ke tab layanan dan menyoroti layanan yang relevan.

Dengan sysinternals process explorer , Anda dapat mengarahkan mouse ke servicehost.exe dengan mouse Anda dan melihat tooltip dari layanan yang dihosting di dalamnya.

Tak satu pun dari ini akan memberi tahu Anda berapa banyak waktu cpu dari proses layanan host didedikasikan untuk layanan anggota tertentu yang dihosting di dalam.

Brian Reiter
sumber
tasklist /svcadalah hal yang baik, menunjukkan PID dan layanan terkait dalam bentuk singkat. Terima kasih!
Alex Fortuna
1

Ini bekerja untuk saya di Task Manager standar yang tersedia di Windows 7 Ultimate:

  1. Buka Task Manager.
  2. Klik tab [Proses].
  3. Klik tombol [Tampilkan proses dari semua pengguna].
  4. Klik kanan pada svchost.exeyang menyebabkan Anda kesulitan (memori, CPU, dll)
  5. Dalam menu pull-down pilih [Pergi ke Layanan].

Itu akan membawa Anda ke tab [Layanan] dengan 1 atau lebih layanan terkait yang disorot . Harap dicatat bahwa satu svchost.exedapat berhubungan dengan sejumlah layanan di tab [Layanan].

Alex Fortuna
sumber
0

Anda harus membuka task manager sebagai administrator. Klik tombol "Tampilkan proses dari semua pengguna".

Tetapi seperti yang dikatakan Brian Reiter, banyak layanan di-host dalam satu proses. Untuk mewujudkan layanan mana yang menghabiskan CPU Anda, Anda dapat mencoba alat Pengungkapan Layanan saya . Ini memungkinkan Anda untuk membagi layanan ke proses khusus. Anda akan dapat melihat layanan mana yang menggunakan sumber daya. Setelah penyelidikan, Anda dapat mengembalikan semua layanan kembali.

Dmytro Ovdiienko
sumber