Bagaimana cara menganalisis penggunaan CPU mode kernel Windows berlebihan?

8

Mesin Windows XP saya baru-baru ini mulai membeku pada saya setiap reboot aneh setelah beberapa menit penggunaan (program yang berbeda / tidak ada prg mulai sama sekali).


Pembaruan: Saya sekarang berhasil mendapatkan sedikit lebih detail dengan Process Explorer. Ini adalah CPU 2 inti dan penggunaan kernel 100% hanya pada satu inti. Daftar proses menunjukkan DPC - Panggilan Prosedur Ditangguhkan sebesar 50% (itu 100% pada satu inti). Jadi pertanyaannya sekarang: ** Apa DPC dan bagaimana cara memperbaikinya ??


Update berikutnya : Okies ... menggunakan ini dan bahwa saya telah mampu untuk mendapatkan xperf berjalan di Windows XP, dan sampel kesedihan saya mengambil display dengan baik pada laptop Win7 saya. Ya, Anda memerlukan komputer Win7 / Vista untuk melihat dump yang diambil pada Windows XP. Namun , saya sekarang menghadapi masalah berikut, saya dapat mengaktifkan xperf tracing , xperf -on Latencydan masalahnya sekarang juga terulang ketika xperf tracing aktif, tetapi begitu DPC saya mencapai 100%, Windows tidak memulai proses baru (atau startup tidak pernah selesai) (misalnya jendela terbuka cmd tetap responsif baik-baik saja , tetapi setiap exe yang Anda coba panggil juga hang (dirberfungsi dengan baik karena perintah cmd) - Saya hanya dapat berasumsi bahwa CreateProcesshang dengan beberapa bagian dari kernel). Sekarang, tidak dapat meluncurkan proses baru berarti saya tidak dapat menjalankan xperf -d dumpfile.etl, karena , ketika saya memasukkannya di jendela cmd, itu hanya hang .

Jadi sepertinya saya kurang beruntung di sini. Saya lebih suka membuang seluruh rig daripada mulai menonaktifkan driver secara manual ... :-)

Ada ide lain yang dihargai!


Yaitu, sementara Windows tetap responsif secara teoritis (mis. Kursor Mouse bergerak normal dan saya bisa mengklik, dan klik itu akhirnya dikenali) tindakan yang diambil oleh pengguna hanya ditanggapi setelah menit (secara harfiah).

Contoh: Menekan tombol Num-lock pada keyboard biasanya mengaktifkan LED Num-lock pada keyboard. Ini juga halnya dengan mesin semi beku saya, tetapi hanya setelah satu atau dua menit.

Suatu kali, saya berhasil meluncurkan Process Explorer dan, setelah beberapa menit, grafik informasi Sistem dengan jelas menunjukkan penggunaan CPU 100% pada garis merah (mode kernel) dan garis hijau tetap nol. Dalam keadaan ini, meskipun grafik masih diperbarui di layar, mesin tidak dapat dioperasikan lagi. (Ya, kecuali Anda bersedia menunggu beberapa menit setelah setiap klik.)

Jadi, sekarang saya bertanya-tanya apa masalahnya, karena saya tidak menginstal sesuatu yang baru pada mesin ini selama berminggu-minggu, tentu saja sebelum melihat perilaku ini. (Boot ulang kadang-kadang membantu, kadang-kadang saya perlu reboot kedua atau ketiga sebelum mesin menjadi dapat digunakan untuk jangka waktu yang lebih lama.)

Sekarang, bagaimana saya bisa mengetahui apa yang sebenarnya menyebabkan penggunaan mode kernel yang berlebihan?


Catatan: Juga diposting ini di forum sysinternals .

Martin
sumber
Salah satu caranya adalah dengan menggunakan proses eliminasi. Di XP jalankan program MSCONFIG dan masuk ke Tab STARTUP dan nonaktifkan semua, lalu reboot dan lihat apakah itu memperbaikinya. Jika tidak, coba program seperti AUTORUNS atau HijackThis dan dapatkan lebih agresif tentang penghapusan. Setelah Anda memiliki operasi kembali, aktifkan kembali satu per satu. 90% dari omong kosong yang berjalan saat startup tidak diperlukan, 10% lainnya adalah junkware :-)
Psycogeek
@Psycogeek - dihargai. Saya lebih suka tidak melakukan ini, karena itu akan membawa saya berhari-hari saya tidak punya :-)
Martin
ahh menit untuk menonaktifkan sampah startup, ini adalah hari untuk menonaktifkan driver perangkat :-) ketika saya mencoba dan memperbaiki masalah Anda, menggunakan seluruh rangkaian petunjuk Anda, itu sebenarnya terdengar lebih seperti beberapa jenis virus. tetapi bisa dengan mudah menjadi beberapa perangkat yang tidak merespons. Punya barang yang macet secara eksternal yang dapat Anda hapus sementara? apakah Anda menjalankan pemeriksaan disk, seperti misalnya tes SMART drive. untuk melihat apakah Anda mendapatkan petunjuk dari itu?
Psycogeek
Ok jadi sekarang (dpc) saya harus memeriksa barang-barang di sini: superuser.com/q/202254/50211 dan lihat apakah saya bisa sampai di bagian bawah ini.
Martin
Apakah hasilnya?
stej

Jawaban:

2

Anda dapat mengetahui rutinitas DPC mana yang menyebabkan pembekuan dengan menggunakan alat seperti LatencyMon ( http://www.resplendence.com/latencymon ). Carilah rutin DPC dengan total waktu terlama.

Zero3
sumber
Jelas, LatencyMon tidak berfungsi di windows XP. Dan pertanyaannya adalah tentang masalah kinerja pada sistem Windows XP.
Edward
Saya tidak menyadarinya - terima kasih. Saran saya masih sama - gunakan saja program yang berbeda. Salah satu contoh: DPC Latency Checker ( thesycon.de/deu/latency_check.shtml ).
Zero3
Sebenarnya, fitur LatencyMon jauh lebih baik / lebih mudah digunakan untuk pengguna akhir daripada Latency Checker. Sistem analisis LatencyMon dan memberikan informasi yang sangat terperinci, ke tingkat di mana driver mengkonsumsi sumber daya terbanyak, yang mana membuat dampak terburuk terhadap kinerja sistem. Sisi lain, Latency Checker hanya menampilkan grafik yang hanya memberi Anda info paling dasar. Itu sistem Anda karena latensi DPC atau tidak. Pekerjaan lebih lanjut adalah milik Anda sendiri. Saya kesulitan menemukan alat yang sama / mirip untuk XP, yang berfungsi dengan cara yang sama seperti LatencyMon.
Edward