Log% CPU dengan Proses dari waktu ke waktu

39

Apakah ada cara mudah di Windows untuk mencatat% waktu CPU per proses dari waktu ke waktu untuk analisis selanjutnya?

Sejauh yang saya bisa lihat ...

  1. Manajer tugas menunjukkan kepada saya% CPU per proses tetapi hanya secara visual - tidak ada cara untuk menyimpan ke file.
  2. Perfmon akan membiarkan saya menyimpan ke file, dan juga akan membuat file berbasis waktu (mengambil foto pada interval waktu tertentu) - yang hampir saya inginkan, kecuali sejauh yang saya bisa lihat, itu tidak dapat memecah% CPU dengan proses.
  3. Process Explorer akan membiarkan saya rusak oleh proses, tetapi hanya akan menyimpan file sebagai snapshot dari satu titik waktu

Jadi, tidak satu pun dari ini yang saya butuhkan: Saya perlu mendapatkan file yang berisi sesuatu seperti '10 proses terbaik oleh CPU, setiap 15 detik, sampai saya menghentikan pemantauan' Alasan saya memerlukan ini karena saya memiliki mesin yang di atasnya beberapa proses menyebabkan lonjakan singkat dalam penggunaan CPU beberapa kali sehari dan saya perlu mencari tahu proses mana yang menjadi penyebabnya.

Adakah yang bisa melakukan itu, atau sudahkah saya melewatkan beberapa fitur perfmon atau proses explorer?

PhantomDrummer
sumber

Jawaban:

37

Monitor Proses dapat melakukannya untuk Anda.

Pertama-tama Anda mungkin ingin mengaktifkan koleksi acara pembuatan profil:

masukkan deskripsi gambar di sinimasukkan deskripsi gambar di sini

Kemudian, cukup kumpulkan data selama yang Anda inginkan (Anda mungkin ingin mengatur filter dan mengaktifkan Drop peristiwa yang difilter jika Anda berencana untuk mengumpulkan untuk jangka waktu yang lama). Lalu pergi ke Alat -> Ringkasan Aktivitas Proses:

masukkan deskripsi gambar di sini

Sekarang Anda akan mendapatkan daftar semua proses aktif yang Anda rekam, dengan aktivitasnya seiring waktu. masukkan deskripsi gambar di sini

Anda kemudian dapat membuka detail untuk satu proses (dengan mengkliknya dua kali) dan memeriksa cap waktu untuk peristiwa tertentu dalam grafik:

masukkan deskripsi gambar di sini

Der Hochstapler
sumber
1
Terima kasih. Itu secara visual sangat mengesankan (saya takut memikirkan berapa banyak memori yang digunakan jika Anda membiarkannya berjalan untuk waktu yang lama). Ini tentu berguna untuk dapat melihat di layar proses apa yang sedang dilakukan. Namun, jika saya mengklik 'Simpan' dari layar ringkasan aktivitas proses, apa yang disimpan masih merupakan snapshot satu titik dalam waktu, tidak ada data yang tergantung waktu.
PhantomDrummer
@ PhantomDrummer: Menyimpan dan memuat file PML bekerja sangat baik untuk saya. Semua peristiwa yang direkam sebelumnya dipulihkan dan tersedia untuk analisis setelah memuat PML. Pastikan untuk memilih Semua acara saat menyimpan file. Jika tidak mau bekerja, beri tahu saya dan saya akan memasukkan lebih banyak detail dalam jawaban saya. Semoga berhasil :)
Der Hochstapler
1
@PhantomDrummer: Buka Opsi -> Acara Pembuatan Profil. Di sana Anda dapat mengatur interval ke 1s atau 100ms. Sejauh itulah yang terjadi. Jika file masih tumbuh terlalu besar, Anda harus menyiapkan filter yang lebih ketat dan mengaktifkan Drop Filtered Events.
Der Hochstapler
1
@Pacerier One adalah manajer tugas, operasi catatan lainnya dilakukan oleh tugas.
Der Hochstapler
6
Apakah ada sesuatu yang lebih sederhana? Sepertinya Anda perlu mempelajari cara menggunakannya. Untuk beberapa pemeriksaan kecil saya hanya ingin memiliki waktu penggunaan proses cpu ketika penggunaan cpu lebih tinggi dari X%
Darius.V