Xin chào,
Trước hết, tôi muốn chia sẻ thông số kỹ thuật của mình (mọi thứ đều là bản gốc, với RAM XMP được bật):
CPU i5 11400 (~3 năm sử dụng)
GPU RX 6750 XT (~1 năm sử dụng)
Bộ tản nhiệt CPU Scythe Fuma 2 (~3 năm sử dụng, tôi chưa thay keo tản nhiệt kể từ khi lắp PC)
Bo mạch chủ Gigabyte B560m Gaming HD (~3 năm sử dụng)
RAM 2x8 Gb 3200 MHz (~3 năm sử dụng)
PSU Corsair RM650x (~3 năm sử dụng)
Windows 11
Tuần trước, tôi đã bắt đầu chơi một trò chơi có tên là "Satisfactory". Tôi đã gặp rất nhiều lần sập máy (cứ 5-10 phút một lần), mà tôi cho là do trò chơi mới phát hành. Tuy nhiên, có một lần máy tính tắt hoàn toàn rồi bật lại, tôi nghĩ là do trò chơi làm Windows bị sập hay gì đó. Tuy nhiên, vài ngày trước, tôi đã thử chạy lại trò chơi và máy tính lại tự tắt rồi bật lại. Chị gái tôi, người thỉnh thoảng chơi Liên minh huyền thoại trên PC của tôi, cũng nói rằng sự cố tương tự đã xảy ra khi chị ấy đang chơi.
Ý nghĩ đầu tiên của tôi là quá nhiệt vì vỏ máy của tôi rất tệ (tôi thậm chí còn không biết mẫu mã hay thương hiệu) và chỉ có 2 quạt (một quạt hút gió bên, một quạt thoát gió phía sau), vì vậy tôi đã đặt mua một vỏ máy mới trực tuyến (vẫn chưa nhận được). Tuy nhiên, một người dùng Reddit (cũng như mẹ tôi lol) đã gợi ý tôi mở bảng điều khiển bên, hướng quạt về phía PC của tôi và kiểm tra xem nó có tắt máy lần nữa không.
Vì vậy, tôi đã thử ý tưởng này, tôi đã mở OCCT và chạy hai bài kiểm tra ứng suất: một CPU + GPU và bài kiểm tra còn lại là bài kiểm tra nguồn. Trong cả hai lần thử nghiệm, PC của tôi đều tắt máy. Nhiệt độ dường như đều ổn (tất cả các lõi CPU đều ở mức tối đa 70-75°C, GPU cũng ở mức khoảng 75°C, với nhiệt độ "đáng lo ngại" duy nhất là điểm nóng 102°C, vẫn thấp hơn mức tối đa có thể chấp nhận được theo AMD).
Tôi quyết định tìm kiếm các tệp .DMP do Windows tạo ra trong những lần tắt máy này và chạy WinDbg để tìm câu trả lời. Sau đây là kết quả:
Nhật ký 1:
Nhật ký 2:
Vậy nên, tôi hỏi các bạn: Có ai có nhiều kinh nghiệm hơn có thể đọc những bản ghi đó và tìm ra chẩn đoán không? Cảm ơn các bạn trước.
Trước hết, tôi muốn chia sẻ thông số kỹ thuật của mình (mọi thứ đều là bản gốc, với RAM XMP được bật):
CPU i5 11400 (~3 năm sử dụng)
GPU RX 6750 XT (~1 năm sử dụng)
Bộ tản nhiệt CPU Scythe Fuma 2 (~3 năm sử dụng, tôi chưa thay keo tản nhiệt kể từ khi lắp PC)
Bo mạch chủ Gigabyte B560m Gaming HD (~3 năm sử dụng)
RAM 2x8 Gb 3200 MHz (~3 năm sử dụng)
PSU Corsair RM650x (~3 năm sử dụng)
Windows 11
Tuần trước, tôi đã bắt đầu chơi một trò chơi có tên là "Satisfactory". Tôi đã gặp rất nhiều lần sập máy (cứ 5-10 phút một lần), mà tôi cho là do trò chơi mới phát hành. Tuy nhiên, có một lần máy tính tắt hoàn toàn rồi bật lại, tôi nghĩ là do trò chơi làm Windows bị sập hay gì đó. Tuy nhiên, vài ngày trước, tôi đã thử chạy lại trò chơi và máy tính lại tự tắt rồi bật lại. Chị gái tôi, người thỉnh thoảng chơi Liên minh huyền thoại trên PC của tôi, cũng nói rằng sự cố tương tự đã xảy ra khi chị ấy đang chơi.
Ý nghĩ đầu tiên của tôi là quá nhiệt vì vỏ máy của tôi rất tệ (tôi thậm chí còn không biết mẫu mã hay thương hiệu) và chỉ có 2 quạt (một quạt hút gió bên, một quạt thoát gió phía sau), vì vậy tôi đã đặt mua một vỏ máy mới trực tuyến (vẫn chưa nhận được). Tuy nhiên, một người dùng Reddit (cũng như mẹ tôi lol) đã gợi ý tôi mở bảng điều khiển bên, hướng quạt về phía PC của tôi và kiểm tra xem nó có tắt máy lần nữa không.
Vì vậy, tôi đã thử ý tưởng này, tôi đã mở OCCT và chạy hai bài kiểm tra ứng suất: một CPU + GPU và bài kiểm tra còn lại là bài kiểm tra nguồn. Trong cả hai lần thử nghiệm, PC của tôi đều tắt máy. Nhiệt độ dường như đều ổn (tất cả các lõi CPU đều ở mức tối đa 70-75°C, GPU cũng ở mức khoảng 75°C, với nhiệt độ "đáng lo ngại" duy nhất là điểm nóng 102°C, vẫn thấp hơn mức tối đa có thể chấp nhận được theo AMD).
Tôi quyết định tìm kiếm các tệp .DMP do Windows tạo ra trong những lần tắt máy này và chạy WinDbg để tìm câu trả lời. Sau đây là kết quả:
Nhật ký 1:
Mã:
NonInteractiveNuget : true
AllowNugetMSCredentialProviderInstall : true
AllowParallelInitializationOfLocalRepositories : true
EnableRedirectToChakraJsProvider : false
-- Configuring repositories
----> Repository : LocalInstalled, Enabled: true
----> Repository : UserExtensions, Enabled: true
>>>>>>>>>>>>> Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds
************* Waiting for Debugger Extensions Gallery to Initialize **************
>>>>>>>>>>>>> Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.031 seconds
----> Repository : UserExtensions, Enabled: true, Packages count: 0
----> Repository : LocalInstalled, Enabled: true, Packages count: 42
Microsoft (R) Windows Debugger Version 10.0.27704.1001 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\perei\OneDrive\Área de Trabalho\100224-19625-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
Symbol search path is: srv*
Executable search path is:
Windows 10 Kernel Version 22621 MP (12 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Kernel base = 0xfffff804`26800000 PsLoadedModuleList = 0xfffff804`274134f0
Debug session time: Wed Oct 2 19:07:13.195 2024 (UTC - 3:00)
System Uptime: 0 days 2:02:12.766
Loading Kernel Symbols
...............................................................
................................................................
...............................................................
Loading User Symbols
PEB is paged out (Peb.Ldr = 000000e3`14629018). Type ".hh dbgerr001" for details
Loading unloaded module list
...........
For analysis of this file, run !analyze -v
nt!KeBugCheckEx:
fffff804`26c16000 48894c2408 mov qword ptr [rsp+8],rcx ss:ffffb681`993759f0=0000000000000101
3: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
CLOCK_WATCHDOG_TIMEOUT (101)
An expected clock interrupt was not received on a secondary processor in an
MP system within the allocated interval. This indicates that the specified
processor is hung and not processing interrupts.
Arguments:
Arg1: 0000000000000010, Clock interrupt time out interval in nominal clock ticks.
Arg2: 0000000000000000, 0.
Arg3: ffffb681994e2180, The PRCB address of the hung processor.
Arg4: 0000000000000006, The index of the hung processor.
Debugging Details:
------------------
KEY_VALUES_STRING: 1
Key : Analysis.CPU.mSec
Value: 1906
Key : Analysis.Elapsed.mSec
Value: 9220
Key : Analysis.IO.Other.Mb
Value: 25
Key : Analysis.IO.Read.Mb
Value: 0
Key : Analysis.IO.Write.Mb
Value: 31
Key : Analysis.Init.CPU.mSec
Value: 234
Key : Analysis.Init.Elapsed.mSec
Value: 29166
Key : Analysis.Memory.CommitPeak.Mb
Value: 97
Key : Analysis.Version.DbgEng
Value: 10.0.27704.1001
Key : Analysis.Version.Description
Value: 10.2408.27.01 amd64fre
Key : Analysis.Version.Ext
Value: 1.2408.27.1
Key : Bugcheck.Code.LegacyAPI
Value: 0x101
Key : Bugcheck.Code.TargetModel
Value: 0x101
Key : Dump.Attributes.AsUlong
Value: 1008
Key : Dump.Attributes.DiagDataWrittenToHeader
Value: 1
Key : Dump.Attributes.ErrorCode
Value: 0
Key : Dump.Attributes.KernelGeneratedTriageDump
Value: 1
Key : Dump.Attributes.LastLine
Value: Dump completed successfully.
Key : Dump.Attributes.ProgressPercentage
Value: 0
Key : Failure.Bucket
Value: CLOCK_WATCHDOG_TIMEOUT_INVALID_CONTEXT_nt!KeAccumulateTicks
Key : Failure.Hash
Value: {95498f51-33a9-903b-59e5-d236937d8ecf}
Key : Stack.Pointer
Value: ISR
BUGCHECK_CODE: 101
BUGCHECK_P1: 10
BUGCHECK_P2: 0
BUGCHECK_P3: ffffb681994e2180
BUGCHECK_P4: 6
FILE_IN_CAB: 100224-19625-01.dmp
DUMP_FILE_ATTRIBUTES: 0x1008
Kernel Generated Triage Dump
FAULTING_THREAD: ffffe587bc8fb080
FAULTING_PROCESSOR: 6
PROCESS_NAME: CpuOcct64.exe
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXNTFS: 1 (!blackboxntfs)
BLACKBOXPNP: 1 (!blackboxpnp)
BLACKBOXWINLOGON: 1
CUSTOMER_CRASH_COUNT: 1
STACK_TEXT:
ffffb681`993759e8 fffff804`26c76a38 : 00000000`00000101 00000000`00000010 00000000`00000000 ffffb681`994e2180 : nt!KeBugCheckEx
ffffb681`993759f0 fffff804`26a2edb1 : 00000000`00000000 ffffb681`99380180 00000000`00072930 00000000`00000000 : nt!KeAccumulateTicks+0x247728
ffffb681`99375a50 fffff804`26a2c3bf : 00000000`0000000c 00000000`00001388 00000000`00072900 00000000`000444aa : nt!KiUpdateRunTime+0xd1
ffffb681`99375c00 fffff804`26a2cfa8 : 00000000`00000001 00000000`00000000 ffffb681`99380180 00000000`00000000 : nt!KiUpdateTime+0x63f
ffffb681`99375ea0 fffff804`26a2c86a : fffff804`2745ffe8 00000000`00000001 00000000`00000001 00000000`00000000 : nt!KeClockInterruptNotify+0x228
ffffb681`99375f40 fffff804`26ab76bc : 00000011`12c23f21 ffffe587`a3704e60 ffffe587`a3704f10 00000000`00000000 : nt!HalpTimerClockInterrupt+0x10a
ffffb681`99375f70 fffff804`26c1820a : fffffe8d`55902420 ffffe587`a3704e60 000001ea`0e2dae00 98788844`f78a45a0 : nt!KiCallInterruptServiceRoutine+0x9c
ffffb681`99375fb0 fffff804`26c18ad7 : 00000000`0000002b 00000000`00000000 00000000`0001406f ffffe587`00000000 : nt!KiInterruptSubDispatchNoLockNoEtw+0xfa
fffffe8d`559023a0 00007ff6`c804e9fb : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiInterruptDispatchNoLockNoEtw+0x37
000000e3`150fde30 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ff6`c804e9fb
SYMBOL_NAME: nt!KeAccumulateTicks+247728
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
IMAGE_VERSION: 10.0.22621.4169
STACK_COMMAND: .process /r /p 0xffffe587b7a32080; .thread 0xffffe587bc8fb080 ; kb
BUCKET_ID_FUNC_OFFSET: 247728
FAILURE_BUCKET_ID: CLOCK_WATCHDOG_TIMEOUT_INVALID_CONTEXT_nt!KeAccumulateTicks
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {95498f51-33a9-903b-59e5-d236937d8ecf}
Followup: MachineOwner
---------
3: kd> lmvm nt
Browse full module list
start end module name
fffff804`26800000 fffff804`27847000 nt (pdb symbols) C:\ProgramData\Dbg\sym\ntkrnlmp.pdb\C688AAF2BB4DE0FE26E41A66F7E016D21\ntkrnlmp.pdb
Loaded symbol image file: ntkrnlmp.exe
Mapped memory image file: C:\ProgramData\Dbg\sym\ntkrnlmp.exe\64BC99911047000\ntkrnlmp.exe
Image path: ntkrnlmp.exe
Image name: ntkrnlmp.exe
Browse all global symbols functions data Symbol Reload
Image was built with /Brepro flag.
Timestamp: 64BC9991 (This is a reproducible build file hash, not a timestamp)
CheckSum: 00B878AD
ImageSize: 01047000
File version: 10.0.22621.4169
Product version: 10.0.22621.4169
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0409.04b0
Information from resource tables:
CompanyName: Microsoft Corporation
ProductName: Microsoft® Windows® Operating System
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
ProductVersion: 10.0.22621.4169
FileVersion: 10.0.22621.4169 (WinBuild.160101.0800)
FileDescription: NT Kernel & System
LegalCopyright: © Microsoft Corporation. All rights reserved.
Mã:
************* Preparing the environment for Debugger Extensions Gallery repositories ************** ExtensionRepository : Implicit UseExperimentalFeatureForNugetShare : true AllowNugetExeUpdate : true NonInteractiveNuget : true AllowNugetMSCredentialProviderInstall : true AllowParallelInitializationOfLocalRepositories : true EnableRedirectToChakraJsProvider : false -- Configuring repositories ----> Repository : LocalInstalled, Enabled: true ----> Repository : UserExtensions, Enabled: true
>>>>>>>>>>>>> Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds
************* Waiting for Debugger Extensions Gallery to Initialize **************
>>>>>>>>>>>>> Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.016 seconds ----> Repository : UserExtensions, Enabled: true, Packages count: 0 ----> Repository : LocalInstalled, Enabled: true, Packages count: 42
Microsoft (R) Windows Debugger Version 10.0.27704.1001 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [C:\Users\perei\OneDrive\Área de Trabalho\100224-22046-01.dmp]
Mini Kernel Dump File: Only registers and stack trace are available
************* Path validation summary **************
Response Time (ms) Location
Deferred srv*
Symbol search path is: srv*
Executable search path is:
Windows 10 Kernel Version 22621 MP (12 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Kernel base = 0xfffff800`3d600000 PsLoadedModuleList = 0xfffff800`3e2134f0
Debug session time: Wed Oct 2 19:20:33.954 2024 (UTC - 3:00)
System Uptime: 0 days 0:13:07.625
Loading Kernel Symbols
..
Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.
Run !sym noisy before .reload to track down problems loading symbols.
.............................................................
................................................................
.............................................................
Loading User Symbols
PEB is paged out (Peb.Ldr = 000000b0`f7e52018). Type ".hh dbgerr001" for details
Loading unloaded module list
..........
For analysis of this file, run !analyze -v
nt!KeBugCheckEx:
fffff800`3da16000 48894c2408 mov qword ptr [rsp+8],rcx ss:0018:ffff9700`2b5249f0=0000000000000101
1: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
CLOCK_WATCHDOG_TIMEOUT (101)
An expected clock interrupt was not received on a secondary processor in an
MP system within the allocated interval. This indicates that the specified
processor is hung and not processing interrupts.
Arguments:
Arg1: 0000000000000010, Clock interrupt time out interval in nominal clock ticks.
Arg2: 0000000000000000, 0.
Arg3: ffff97002b8a9180, The PRCB address of the hung processor.
Arg4: 0000000000000007, The index of the hung processor.
Debugging Details:
------------------
KEY_VALUES_STRING: 1 Key : Analysis.CPU.mSec Value: 1843 Key : Analysis.Elapsed.mSec Value: 3146 Key : Analysis.IO.Other.Mb Value: 0 Key : Analysis.IO.Read.Mb Value: 0 Key : Analysis.IO.Write.Mb Value: 0 Key : Analysis.Init.CPU.mSec Value: 203 Key : Analysis.Init.Elapsed.mSec Value: 13206 Key : Analysis.Memory.CommitPeak.Mb Value: 96 Key : Analysis.Version.DbgEng Value: 10.0.27704.1001 Key : Analysis.Version.Description Value: 10.2408.27.01 amd64fre Key : Analysis.Version.Ext Value: 1.2408.27.1 Key : Bugcheck.Code.LegacyAPI Value: 0x101 Key : Bugcheck.Code.TargetModel Value: 0x101 Key : Dump.Attributes.AsUlong Value: 1008 Key : Dump.Attributes.DiagDataWrittenToHeader Value: 1 Key : Dump.Attributes.ErrorCode Value: 0 Key : Dump.Attributes.KernelGeneratedTriageDump Value: 1 Key : Dump.Attributes.LastLine Value: Dump completed successfully. Key : Dump.Attributes.ProgressPercentage Value: 0 Key : Failure.Bucket Value: CLOCK_WATCHDOG_TIMEOUT_INVALID_CONTEXT_nt!KeAccumulateTicks Key : Failure.Hash Value: {95498f51-33a9-903b-59e5-d236937d8ecf} Key : Stack.Pointer Value: ISR
BUGCHECK_CODE: 101
BUGCHECK_P1: 10
BUGCHECK_P2: 0
BUGCHECK_P3: ffff97002b8a9180
BUGCHECK_P4: 7
FILE_IN_CAB: 100224-22046-01.dmp
DUMP_FILE_ATTRIBUTES: 0x1008 Kernel Generated Triage Dump
FAULTING_THREAD: ffffd60fd72e0080
FAULTING_PROCESSOR: 7
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXNTFS: 1 (!blackboxntfs)
BLACKBOXPNP: 1 (!blackboxpnp)
BLACKBOXWINLOGON: 1
CUSTOMER_CRASH_COUNT: 1
PROCESS_NAME: Discord.exe
STACK_TEXT:
ffff9700`2b5249e8 fffff800`3da76a38 : 00000000`00000101 00000000`00000010 00000000`00000000 ffff9700`2b8a9180 : nt!KeBugCheckEx
ffff9700`2b5249f0 fffff800`3d82edb1 : fffff780`00000350 ffff9700`2b50a180 00000000`0000c4e7 00000000`00000000 : nt!KeAccumulateTicks+0x247728
ffff9700`2b524a50 fffff800`3d82c3bf : 00000000`0000000c 00000000`00001388 00000000`0000c400 00000000`0000755d : nt!KiUpdateRunTime+0xd1
ffff9700`2b524c00 fffff800`3d82cfa8 : 00000000`00000000 00000000`00000000 ffff9700`2b50a180 00000000`00000000 : nt!KiUpdateTime+0x63f
ffff9700`2b524ea0 fffff800`3d82c86a : fffff800`3e25ff40 00000000`00000001 00000000`00000001 00000000`0000000c : nt!KeClockInterruptNotify+0x228
ffff9700`2b524f40 fffff800`3d8b76bc : 00000001`d58cfd73 ffffd60f`c45375a0 ffffd60f`c4537650 00000000`00000000 : nt!HalpTimerClockInterrupt+0x10a
ffff9700`2b524f70 fffff800`3da1820a : ffff920c`79386a00 ffffd60f`c45375a0 ffff9700`2b50a180 00000000`00000000 : nt!KiCallInterruptServiceRoutine+0x9c
ffff9700`2b524fb0 fffff800`3da18ad7 : 00000000`0d823af3 ffffe642`4ec6762e ffffe78b`03bf78b0 fffff800`3d8336eb : nt!KiInterruptSubDispatchNoLockNoEtw+0xfa
ffff920c`79386980 fffff800`3d837696 : 00000000`00000000 00000000`00000000 00000000`00000000 fffff800`3d9023f0 : nt!KiInterruptDispatchNoLockNoEtw+0x37
ffff920c`79386b10 fffff800`3d8374a5 : ffff920c`79386d00 ffffd60f`da904640 ffff920c`793870a0 ffff920c`79386c50 : nt!KiIpiStallOnPacketTargetsPrcb+0x16
ffff920c`79386b40 fffff800`3dd89fea : ffff920c`79386d00 ffffd60f`d72e0080 000000b0`f87fc820 ffffd60f`da8ac180 : nt!KeFlushProcessWriteBuffers+0xd9
ffff920c`79386b90 fffff800`3dd23147 : ffffd60f`da8ac180 00000000`00000000 ffff920c`79387420 000000b0`f87fc820 : nt!PsQueryTotalCycleTimeProcess+0x2a
ffff920c`79386bc0 fffff800`3da2b605 : ffffe642`4dcd4dd0 00000000`00000000 ffffe78a`fe48f8e8 00000000`00000000 : nt!NtQueryInformationProcess+0x1b57
ffff920c`79387330 00007ffe`bb310454 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x25
000000b0`f87fc7e8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x00007ffe`bb310454
SYMBOL_NAME: nt!KeAccumulateTicks+247728
MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe
IMAGE_VERSION: 10.0.22621.4169
STACK_COMMAND: .process /r /p 0xffffd60fda8ac180; .thread 0xffffd60fd72e0080 ; kb
BUCKET_ID_FUNC_OFFSET: 247728
FAILURE_BUCKET_ID: CLOCK_WATCHDOG_TIMEOUT_INVALID_CONTEXT_nt!KeAccumulateTicks
OSPLATFORM_TYPE: x64
OSNAME: Windows 10
FAILURE_ID_HASH: {95498f51-33a9-903b-59e5-d236937d8ecf}
Followup: MachineOwner
---------