Bagaimana saya bisa menganalisis masalah kinerja sebelum / selama proses masuk?

Jawaban:

35

Menggunakan Monitor Proses

Monitor Proses adalah alat yang akan mengumpulkan sistem file, registri, dan peristiwa jaringan untuk semua proses yang berjalan. Acara yang dikumpulkan kemudian dapat dianalisis untuk menentukan bagaimana suatu sistem (atau aplikasi) berperilaku secara internal dalam situasi tertentu.

Dalam hal ini, kami ingin menggunakan alat ini untuk menentukan acara mana selama proses booting yang membutuhkan waktu lama untuk diselesaikan.

  1. Unduh Process Monitor dan jalankan.

  2. Di menu Opsi , centang Aktifkan Boot Logging .

    Aktifkan Boot Logging

  3. Pada dialog yang dihasilkan, centang Generate eventsing events dan klik OK .

    Hasilkan acara pembuatan profil

  4. Nyalakan ulang sistem dan tiru masalah Anda. Setelah proses masuk selesai, mulai Proses Monitor.

  5. Monitor Proses akan memberi tahu Anda bahwa ia mengumpulkan aktivitas waktu-boot dan akan menanyakan apakah Anda ingin menyimpan data itu sekarang. Konfirmasikan proses dengan mengklik Ya .

    Simpan aktivitas waktu boot

  6. Pilih lokasi penyimpanan yang sesuai untuk .pmlfile dan tunggu data dikonversi. Setelah data dimuat, tampilkan kolom Durasi dengan membuka menu konteks pada salah satu header kolom dan mengklik Pilih Kolom ...

    Pilih Kolom ...

    ... dan centang kotak yang sesuai di dialog yang dihasilkan.

    Kotak centang durasi

  7. Buat filter baru dengan memilih Filter ... * dari menu ** Filter .

    Menu Filter

  8. Buat filter untuk kolom Durasi yang lebih dari nilai 1 , dalam hal entri harus disertakan . Klik Tambahkan untuk menambahkan filter ke daftar dan mengonfirmasi pilihan dengan OK .

    masukkan deskripsi gambar di sini

  9. Pada titik ini, daftar acara di Process Monitor hanya akan menampilkan acara yang membutuhkan waktu lebih dari 1 detik untuk selesai. Anda akan ingin memeriksa kolom Durasi untuk acara yang membutuhkan waktu lama untuk diselesaikan.

    Untuk tujuan demonstrasi, berikut adalah pilihan acara yang membutuhkan waktu lebih dari 10 detik untuk diselesaikan. Ini ditangkap di mesin virtual untuk tujuan demonstrasi.

    Contoh acara
    klik untuk memperbesar

    Meskipun peristiwa ini tidak harus menjadi penyebab memblokir proses masuk untuk menyelesaikan, menonaktifkan layanan Pengindeksan Windows dan Avast Anti-Virus dapat menjadi kesempatan untuk dicoba pada instalasi ini.

Menggunakan xperf

xperf adalah alat analisis kinerja dari Windows Performance Toolkit. Menggunakannya dan menganalisis data yang dikumpulkan bisa menjadi tantangan. Namun demikian, kami akan melihat cara mengumpulkan data yang diperlukan dan cara melihat bagian yang relevan dari itu.

Harap dicatat bahwa Windows Assessment and Deployment Kit (ADK), yang diperlukan untuk ini, hanya berfungsi pada Windows 7 dan yang lebih tinggi.

  1. Unduh ADK Windows dan instal setidaknya komponen Windows Performance Toolkit .

  2. Setelah instalasi selesai, buka prompt perintah yang ditinggikan.

    Prompt Perintah Tinggi

  3. Ubah menjadi direktori tempat Anda ingin jejak Anda ditemukan. Seperti Desktop.

  4. Cara yang disarankan (menurut Menggunakan XBOOTMGR untuk menangkap boot lambat, atau login lambat yang disebabkan boot lambat ) untuk menangkap jejak saat boot adalah:

    xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10

    Sistem sekarang akan memulai jejak dan reboot.

  5. Setelah reboot, ikuti instruksi di layar. Anda akan diminta untuk memperbolehkan proses pengumpulan meningkat. Setelah proses selesai, Anda akan menemukan jejak yang dihasilkan di folder tempat Anda memulai penelusuran.

    Dalam kasus saya, itu menciptakan boot_1.etl(dan yang sesuai boot_1.cab) di Desktop.

    Buka .etlfile di Windows Performance Analyzer .

Analisis

Setelah Anda membuka jejak, Anda sudah dapat melihat kemungkinan indikasi masalah Anda terikat pada perangkat keras. Pandangan singkat pada tinjauan Komputasi , Penyimpanan , dan Memori di Graph Explorer akan menampilkan puncak yang harus dianalisis lebih lanjut.

Untuk tujuan demonstrasi, mari kita lihat grafik Utilization By Process . Untuk menampilkan konten, cukup klik dua kali grafik untuk menambahkannya ke tampilan Analisis .

Ikhtisar Penganalisis Kinerja Windows
klik untuk memperbesar

Perhatikan bahwa tidak ada grafik yang menampilkan puncak terkait. Puncak biru pada mulanya adalah bagian dari proses Sistem dan diharapkan terjadi pada saat ini.

Puncak lain dalam grafik Penggunaan CPU mungkin lebih baik dilihat dalam konteks. Jadi, mari kita tambahkan grafik lain ke tampilan Analisis. Grafik yang kami cari adalah grafik Fase Booting , yang terletak di bagian System Activity .

Fase Booting
klik untuk memperbesar

Pada tangkapan layar di atas, saya juga menambahkan grafik Acara Generik di bagian bawah untuk memberikan konteks tambahan. Namun, apa yang harus dicatat di sini adalah fakta bahwa puncak pertama yang terlihat dalam penggunaan CPU disebabkan oleh layanan Avast. Kami telah memperhatikan dalam analisis Pemantau Proses bahwa proses ini adalah salah satu proses yang menghabiskan banyak waktu dalam proses booting.

Yang juga kita lihat di sini, sekarang kita bisa melihatnya dalam konteks fase boot, adalah bahwa puncak terjadi setelah para Winlogon Init fase (dan bahkan di Pos Boot fase yang terjadi ketika Anda sudah bisa melihat desktop). Jadi bisa dianggap tidak mungkin bahwa proses ini sebenarnya menyebabkan kita mengalami masalah dalam fase sebelum kita melihat desktop.

Apa yang akan kita cari adalah peristiwa yang terjadi di dalam atau sekitar fase Winlogon Init . Untuk membuatnya lebih mudah, Anda dapat memilih fase dalam grafik Boot Phases. Ini akan menyoroti semua entri dalam semua grafik yang terjadi pada fase itu.

Grafik yang perlu dicermati, tentu saja adalah grafik Layanan , karena sebagian besar dari mereka dimulai selama fase Winlogon Init.

Seperti yang saya katakan di bagian pendahuluan, menganalisis data ini bisa rumit, kecuali masalahnya langsung muncul pada Anda begitu Anda membuka jejaknya. Namun, ini jelas alat yang tepat untuk menganalisis masalah ini. Tergantung pada situasinya, Anda bahkan mungkin ingin mengumpulkan jejak tumpukan untuk mengebor lebih dalam. Proses ini jauh di luar ruang lingkup tulisan ini.

Bacaan lebih lanjut

Der Hochstapler
sumber
xbootmgr dari WPT ( msfn.org/board/index.php?showtopic=158252 ) adalah alat yang lebih baik untuk memulai. Saya hanya menggunakan pendataan ProcMon untuk melihat lebih dalam pada fase khusus dari boot.
magicandre1981
@ magicandre1981: Posting belum selesai;) Jika Anda ingin menambahkan rincian lebih lanjut tentang xperf padanya, jangan ragu untuk mengedit.
Der Hochstapler