Pecahkan masalah Penggunaan CPU yang tinggi oleh proses "Sistem"

99

Saya telah memperhatikan bahwa dari beberapa waktu sistem saya membeku dan mungkin disebabkan oleh penggunaan CPU yang tinggi yang disebabkan oleh proses sistem.

Semua aplikasi yang saya jalankan adalah Skype, TeamSpeak dan Chrome sehingga pasti tidak boleh memakan jumlah CPU itu.

Anda dapat melihat masalah itu sendiri dan menjalankan proses pada tangkapan layar di bawah:

masukkan deskripsi gambar di sini

Kadang-kadang penggunaan CPU mencapai 90%, tetapi penggunaan rata-rata seperti 40-65%.

Parameter PC saya:

  • Windows 8 (pratinjau pelanggan)
  • Intel Core i3 - 2350M
  • RAM 8 GB

Saya menghargai upaya bantuan apa pun! Salam.

--MEMPERBARUI--

Karena pengguna di bawah ini memposting jawaban yang bagus, saya perhatikan bahwa proses yang memakan paling banyak CPU dalam sistem disebut Arthurx.sys, google sederhana mengatakan bahwa itu adalah driver TPLink (adaptor wifi, saya telah membeli seperti 2 minggu yang lalu!) Driver telah diinstal dari Windows MSDN, tetapi juga mencoba menginstal driver dari CD terlampir, tetapi tidak membantu. Dari sistem mulai, menggunakan hanya 5% dari CPU saja, tetapi setelah 2-4 jam bekerja itu tumbuh dan mencapai 40-60% dari penggunaan CPU.

Nama perangkat: TPLink WN722N

Scott
sumber
5
Poin pesanan, jika Anda menjalankan pratinjau pelanggan, semuanya tidak terkini ... Anda menjalankan pratinjau pelanggan.
Everett
@ Everett Ya, mungkin Anda benar ... tapi tetap saja tidak boleh, meskipun pratinjau pelanggan (atau rilis).
Scott
4
@Scott Ya, hal semacam ini harus terjadi dalam pratinjau pelanggan. Maksudku, tentu saja lebih baik jika bug itu tidak ada sejak awal, tapi ini adalah salah satu hal yang ingin dilakukan preview. Ini merupakan kesempatan bagi bagi pengguna untuk melihat fitur baru dan elemen antarmuka pengguna sedikit lebih awal, dan memeriksa kompatibilitas aplikasi, tetapi juga kesempatan bagi tim pengembang untuk mendapatkan umpan balik dan menemukan bug dari khalayak yang lebih luas. Sistem inti belum siap digunakan untuk produksi . Ini tidak dimaksudkan untuk digunakan sebagai sistem utama Anda, karena tidak sepenuhnya dilakukan atau di-debug. Jika ya, mereka akan mengikuti RTM.
Joel Coehoorn
1
gunakan xperf untuk melacaknya. Tetapi seperti yang dikatakan pengguna lain, berhenti menggunakan CP. Semua versi pra-rilis akan kedaluwarsa dalam 2 minggu!
magicandre1981
1
Satu-satunya cara kami dapat membantu Anda adalah jika Anda Memverifikasi masalah ini ada di Versi RTM Windows 8. Anda tidak dapat mengharapkan siapa pun untuk membantu Anda dengan masalah yang ada dalam rilis Pratinjau. Saya melanjutkan dan memperbarui tag untuk mencerminkan Anda menggunakan versi pratinjau.
Ramhound

Jawaban:

91

Ini dapat disebabkan oleh driver yang salah atau modul lain yang dimuat oleh sistem. Untuk melihat ke dalam proses Sistem, Anda dapat menggunakan alat seperti Process Explorer .

Unduh dan jalankan, lalu pilih proses Sistem, klik kanan dan pilih Properti:

masukkan deskripsi gambar di sini

Beralih ke tab Threads (abaikan kotak dialog yang menyebutkan simbol):

masukkan deskripsi gambar di sini

Ini akan menunjukkan file mana yang menggunakan penggunaan CPU berlebih, dari mana Anda kemudian dapat mencoba mendiagnosisnya.

Namun seperti yang orang lain katakan di komentar, Anda benar-benar harus menjauh dari versi Pratinjau sesegera mungkin!

Graham Taruhan
sumber
Terima kasih atas jawaban Anda. Silakan lihat pertanyaan saya yang diperbarui.
Scott
2
@Scott Saya perhatikan Anda sedang meningkatkan sekarang; jika masalah ini masih belum terselesaikan setelah itu, TPLink memiliki driver beta 8 Windows di situs mereka yang tersedia yang dapat membantu. Itu dapat ditemukan di sini: tp-link.com/en/support/download/…
Graham Taruhan
2
Tampaknya risdxc64.sys adalah tersangka biasa dengan laptop Thinkpad yang merupakan driver untuk pembaca kartu, lihat misalnya di sini: forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/… - Saya menyelesaikannya dengan menginstal ulang yang terbaru satu saat menang 10
patrickf
Saya memiliki masalah serupa di Windows 10. Bagi saya itu adalah avc3.sys yang menggunakan banyak cpu. Ternyata menjadi bagian dari Bitdefender Antivirus Free.
Bruno
2
@Lendends Anda menggunakan alat yang salah. ProcExp menunjukkan shapshot yang tidak terlalu membantu. Saya menulis jawaban tentang Windows Performance Toolkit untuk menunjukkannya secara terperinci bagaimana menganalisis penggunaan CPU
magicandre1981
90

Untuk mendiagnosis masalah penggunaan CPU, Anda harus menggunakan Event Tracing for Windows (ETW) untuk mengambil data / Profil Sampel CPU.

Untuk mengambil data, instal Windows Performance Toolkit , yang merupakan bagian dari Windows SDK .

Windows 10 WPT dapat digunakan pada Windows 8 / Server 2012, Windows 8.1 / Server 2012R2 dan Windows 10 / Server 2016. Jika Anda masih menggunakan Windows 7, gunakan SDK / WPT dengan Build 15086 .

masukkan deskripsi gambar di sini (semua entri lain dapat dipilih)

Sekarang jalankan WPRUI.exe, pilih First Level, di bawah Resource pilih penggunaan CPU dan klik mulai .

masukkan deskripsi gambar di sini

Sekarang ambil 1 menit penggunaan CPU. Setelah 1 menit, klik Simpan .

Sekarang menganalisis file ETL yang dihasilkan dengan Windows Performance Analyzer dengan menyeret dan menjatuhkan CPU Usage (sampled)grafik ke analysis panedan memesan kolom seperti yang Anda lihat pada gambar:

masukkan deskripsi gambar di sini

Di dalam WPA, muat simbol debug dan rentangkan Stack dari proses SYSTEM. Dalam demo ini, penggunaan CPU berasal dari driver nVIDIA.


Dalam demo berikut, penggunaan CPU berasal dari driver Realtek NIC:

masukkan deskripsi gambar di sini


Saat Anda melihat panggilan seperti ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion , ini berarti Anda telah mengaktifkan Driver Verifier. Ini juga sangat merugikan kinerja dan menyebabkan penggunaan SISTEM yang tinggi. Nonaktifkan Driver Verifier dan reboot.

masukkan deskripsi gambar di sini


Dalam demo ini, driver iai2ce.sys(pengontrol Intel Serial IO GPIO) menyebabkannya:

masukkan deskripsi gambar di sini


Dalam contoh ini, penggunaan CPU berasal dari file rtsuvc.sysyang tampaknya menjadiRealtek UVC webcam Driver

masukkan deskripsi gambar di sini


Demo ini menunjukkan driver Bitdefender itu ignis.sys

masukkan deskripsi gambar di sini


Dalam contoh berikut, penggunaan CPU dilakukan oleh driver jaringan broadcom bcmwl664.sys

masukkan deskripsi gambar di sini


Ketika Anda melihat ntoskrnl.exe!MiZeroWorkerPagessebagai penyebab, itu lebih sulit. Ini berarti fungsi dari kernel yang nol memori sebelum dapat digunakan lagi menyebabkan penggunaan CPU yang tinggi:

masukkan deskripsi gambar di sini

Tidak ada cara nyata untuk mendeteksi proses mana yang menyebabkannya, tetapi saya tahu bahwa Chrome dapat menyebabkannya jika Anda mengaktifkan akselerasi perangkat keras di Chrome. Jadi jika Anda melihat ini dan menggunakan Chrome, matikan akselerasi perangkat keras di Chrome.


Saat Anda melihat ntoskrnl.exe! RtlpGenericRandomPatternWorker, ntoskrnl.exe! RtlpTestMemoryRandomUp panggilan

masukkan deskripsi gambar di sini

penggunaan CPU berasal dari Kernel untuk menguji memori untuk masalah (memtest). Penggunaan ini dipicu melalui tugas pemeliharaan menganggur Windows 8.1 / 10. Anda dapat menggunakan Penjadwal Tugas untuk menonaktifkan tugas idle.

masukkan deskripsi gambar di sini

Di Windows 10, tugas tersebut disebut RunFullMemoryDiagnostics di bawah Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .

masukkan deskripsi gambar di sini


Dalam hal ini, penggunaan CPU tampaknya berasal dari Data DeduplicationFitur ( dedup.sys!DdpPostCreate) Windows Server:

masukkan deskripsi gambar di sini


Dalam demo ini, penggunaan CPU disebabkan oleh driver kartu WIFI athrx.sys

masukkan deskripsi gambar di sini

Cari pembaruan driver jika Anda melihat ini.


Dalam demo berikut, driver citrix terlibat:

masukkan deskripsi gambar di sini

Jadi hubungi IT Anda untuk cara mengatasi masalah Citrix.


Dalam demo ini, fungsi usbhub.sys!UsbhPortRecyclemenyebabkan penggunaan CPU:

masukkan deskripsi gambar di sini

Mengubah port USB2.0 ke kecepatan 1.1 atau menghubungkan drive USB ke port USB 2.0 lainnya membantu sebagian pengguna.


Dalam hal ini, sejumlah kecil penggunaan SISTEM berasal dari driver Acronis tdrpm251.sys:

masukkan deskripsi gambar di sini


Dalam demo ini, penggunaan CPU ntoskrnl.exe!KeAcquireSpinLockRaiseToDpcdan ntoskrnl.exe!KeReleaseSpinLock.

masukkan deskripsi gambar di sini

jadi seorang pengemudi menggunakan SpinLocks dengan sangat berat. Nonaktifkan beberapa perangkat / driver hingga Anda melihat yang menyebabkannya.


Dalam hal ini, penggunaan CPU disebabkan oleh driver L1C62x64.sys

masukkan deskripsi gambar di sini

Ini qualcomm atheros AR8171/8175 PCI-E gigabit Ethernetsopirnya. Jadi perbarui driver jika Anda melihatnya di tumpukan.


Di sini, penggunaan CPU berasal dari pemindaian file host (netbt.sys! DelayedScanLmHostFile)

masukkan deskripsi gambar di sini

pastikan file host Anda tidak terlalu besar untuk menghindari penggunaan ini.


Dalam hal ini, penggunaan CPU berasal SRTSP64.SYSdari symantec.

masukkan deskripsi gambar di sini

Perbarui produk symantec Anda yang digunakan ke versi terbaru.


Di sini, penggunaan CPU berasal dari driver AMD GPU (atikmdag.sys)

masukkan deskripsi gambar di sini

jika Anda melihat ini, buka situs AMD dan dapatkan driver terbaru untuk kartu AMD Anda.


Di sini, driver TMXPFlt.sys dan VsapiNt.sys menyebabkan penggunaan CPU yang tinggi.

masukkan deskripsi gambar di sini

Dari apa yang saya lihat, file-file itu adalah bagian dari Trend Micro AV suite. Perbarui alat atau hapus.


Dalam contoh ini, penggunaan CPU berasal dari fungsi ntoskrnl.exe!MmGetPageFileInformation

masukkan deskripsi gambar di sini

Fungsi ini mendapatkan informasi tentang pagefile.

Deskripsi Rutin: Rutin ini mengembalikan informasi tentang file paging yang sedang aktif.

Nonaktifkan pagefile, reboot dan aktifkan lagi dan lihat apakah ini memperbaikinya. Selain itu, menghapus layanan Intel (mis. Layanan Perlindungan Konten Intel) tampaknya memperbaikinya untuk pengguna .


Di sini, Anda dapat melihat bahwa driver Netwtw04.sys( driver Intel Wifi) memanggil fungsi flushCompleteAllPendingFlushRequestsdan ini menyebabkan penggunaan CPU yang tinggi.

masukkan deskripsi gambar di sini

Karena simbol debug dimuat, driver kotak masuk Windows digunakan. Hanya di sini kita bisa mendapatkan simbol debug untuk melihat callstack dengan nama fungsi flushCompleteAllPendingFlushRequests.

Di sini, Anda harus menginstal driver terbaru dari Intel untuk memperbaikinya.


Kasus penggunaan sistem yang paling rumit adalah penggunaan ACPI.sys di callstack:

Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight
6, , ,   |    |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13
7, , ,   |    |    ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13
8, , ,   |    |    ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13
9, , ,   |    |    ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13
10, , ,   |    |    ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13
11, , ,   |    |    ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13
12, , ,   |    |    ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13
13, , ,   |    |    ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13
14, , ,   |    |    ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13
15, , ,   |    |    |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13
16, , ,   |    |    |    |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83
17, , ,   |    |    |    |    |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52
18, , ,   |    |    |    |    |    ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52
19, , ,   |    |    |    |    |    |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51
20, , ,   |    |    |    |    |    |    |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48

ini sangat sulit untuk di-debug. Dalam topik sysinternals , saya mencantumkan beberapa saran:

  • pastikan CPU tidak kepanasan karena debu di kipas CPU
  • memperbarui atau mem-flash ulang BIOS (UEFI) yang sama ()
  • memuat pengaturan BIOS / UEFI default
  • pastikan baterai tidak rusak, keluarkan baterai dari notebook atau nonaktifkan baterai di manajer perangkat.
  • ganti jumper pada HDD caddy jika Anda telah mengganti DVD / Blue-Ray Drive dengan Caddy untuk memasang SSD di sebelah HDD lama Anda

masukkan deskripsi gambar di sini


Dalam demo berikut, pengandar Intel HD igdkmd64.sysdi .4574 untuk Intel HD 630 menyebabkan masalah:

masukkan deskripsi gambar di sini

Solusinya adalah memperbarui ke driver dengan versi setidaknya .4590.


Dalam kasus berikut, penggunaan CPU dari proses SISTEM disebabkan oleh driver stdriverx64.sys

masukkan deskripsi gambar di sini

Ini sepertinya merupakan driver streaming audio . Jadi perbarui perangkat lunak / driver ini jika Anda melihatnya di WPA.


Jika Anda melihat driver bernama risdxc64.syscallstack SYSTEM yang menyebabkan penggunaan CPU tinggi, perbarui driver Ricoh PCIe SDXC / MMC Host Controller atau nonaktifkan pembaca kartu SD di manajer perangkat jika tidak ada pembaruan driver yang memperbaikinya.

masukkan deskripsi gambar di sini

Pembaca kartu SD ini tampaknya terintegrasi dengan banyak perangkat Lenovo.


Pengguna @stevemidgley menunjukkan masalah baru dengan penggunaan CPU yang lebih tinggi Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk

masukkan deskripsi gambar di sini

Di sini Anda dapat melihat driver UDE.sys yang menyebabkannya.

Di hub simbol

masukkan deskripsi gambar di sini

Saya dapat melihatnya milik driver Modem dan data PNP dari trace trace Fibocom L850-GL(LTE Modem) sebagai perangkat yang memungkinkan:

masukkan deskripsi gambar di sini

Dan solusinya adalah menonaktifkan modem dan perangkat komposit USB di manajer perangkat.


magicandre1981
sumber
6
Bagus!!! +1 .... Untuk shizzle
Pimp Juice IT
1
@stevemidgley FxUsbPipeRequestWorkItemThunk memproses data. Perluas tumpukan lebih banyak. Juga bagikan file ETL.USB Composite Device dapat menjadi driver ponsel cerdas ketika Anda menghubungkan ponsel untuk mentransfer data,
magicandre1981
1
@stevemidgley mengaktifkan perangkat USB dan menangkap jejak, saya perlu file ETL untuk melihat rincian lebih lanjut.
magicandre1981
1
@stevemidgley yang merupakan data USB mentah, saya perlu jejak jejak penggunaan CPU dari jawaban saya di atas.
magicandre1981
1
@stevemidgley ok, sepertinya driver UDE.sys yang menyebabkannya. Dan dari apa yang saya lihat itu milik Fibocom L850-GL yang merupakan modul LTE Anda.
magicandre1981
4

Catatan tentang memuat simbol debug untuk ditambahkan ke jawaban magicandre1981 : jika memuat simbol di Windows Performance Analyzer bekerja dengan benar, setelah mencentang Trace> Load Symbols Anda akan melihat bilah kemajuan di bagian atas dengan simbol Memuat yang menunjukkan nama file di sebelahnya dan mengambil beberapa menit untuk menyelesaikan. Anda juga akan melihat banyak baris seperti di bawah ini di Diagnostic Console:

SYMSRV:  File: Accessibility.ni.pdb

SYMSRV:  Notifies the client application that a proxy has been detected.
SYMSRV:  Connecting to the Server: http://msdl.microsoft.com/download/symbols.
SYMSRV:  Successfully connected to the Server.
SYMSRV:  Sending the information request to the server.
SYMSRV:  Successfully sent the information request to the server.
SYMSRV:  Waiting for the server to respond to a request.
SYMSRV:  Successfully received a response from the server.
SYMSRV:  Closing the connection to the Server.
SYMSRV:  Successfully closed the connection to the Server.
SYMSRV:  Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb

Jika Anda tidak melihat salah satu dari ini, memuat simbol debug kemungkinan tidak berfungsi dan Anda tidak akan dapat menafsirkan jejak Anda dengan benar.

Dalam kasus saya pada awalnya memuat simbol debug tidak bekerja. Saya memperbaikinya dengan mengikuti instruksi ini :

  1. Cari tahu apakah Anda menggunakan versi Windows XP Toolkit x86 atau x64.

    Ini mudah pada build x86 Windows. Pada build x64, Anda dapat memeriksa tag Task Manager * 32. Jika tidak ada di sana, maka Anda menjalankan versi x64.

    Perhatikan bahwa WPT selalu menginstal ke Program Files (x86) terlepas dari arsitekturnya.

  2. Salin dbghelp.dlldan symsrv.dllfile dari direktori debugger yang benar ke direktori Windows Performance Toolkit. Di sistem saya, direktori yang relevan adalah:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 dan C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. Mulai ulang Windows Performance Analyzer sehingga versi dbghelp.dll yang benar diambil.

AronVanAmmers
sumber
2
Anda harus menambahkan ini ke jawaban saya sebagai hasil edit. ini bukan jawaban yang sebenarnya
magicandre1981
0

Pertama, ulasan dan informasi yang diberikan sangat informatif, namun Anda biasanya dapat mengetahui hal ini dengan kecerdasan yang jauh lebih sedikit! Saya hanya menggunakan MSCOFIG.EXE dan pencarian biner untuk mengisolasi layanan yang menyinggung. Saya telah menemukan sebagian besar masalah seperti ini disebabkan oleh perangkat lunak Intel. Saya mulai dengan menonaktifkan layanan apa pun yang tidak memiliki nama perusahaan. Lalu saya mulai dengan layanan Intel. Kemudian pencarian biner penuh. Biasanya paling lama satu jam untuk memperbaiki masalah di PC seseorang. Intel tidak pernah merupakan perusahaan komputer yang baik, dan perangkat lunak mereka menunjukkannya. Mari kita hadapi itu arsitektur Pentium berusia satu dekade ketika dirilis. Siapa yang akan membangun arsitektur komputer dengan memori paged di zaman VAX? Yah, aku tidak akan membuatmu bosan dengan sejarah. Bukan berarti saya juga penggemar AMD atau Microsoft. Mungkin suatu hari nanti kita

Leonard Umina
sumber
Anda menyadari bahwa VAX menggunakan memori paged, kan? Dan mengapa Anda tidak menggunakan memori halaman hari ini?
Jamie Hanrahan
-1

Saya memiliki masalah yang sama, menghilang ketika saya menghapus salah satu modul RAM. Sepertinya itu salah. Menjalankan Windows 7, 32-bit.

Cosmin
sumber