尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

显卡占用飙高?dwm.exe与csrss.exe异常,先查硬盘再换驱动

显卡占用飙高?dwm.exe与csrss.exe异常,先查硬盘再换驱动 电脑一开机显卡占用率就冲到 90% 以上甚至接近 100%。打开任务管理器占用 GPU 的不是游戏、不是渲染软件而是两个系统进程dwm.exe桌面窗口管理器和 Client Server Runtime Processcsrss.exe。遇到这种情况很多人的第一反应是重装显卡驱动再不行就重装系统。但从实际案例看这类问题反复出现时真正的原因往往不在显卡本身而可能在硬盘。这篇文章不是让你上来就换硬件。我会先把 dwm.exe 和 csrss.exe 的职责讲清楚然后按“先确认进程、再查驱动和软件、最后查硬盘”的顺序给出一套完整的排查流程。全文不涉及特殊工具全部使用 Windows 自带功能和常见检测软件。内容偏工程向建议直接收藏遇到相似问题可以照表排查。1. 现象速览谁把显卡跑满了先不急着修打开任务管理器按“GPU”列排序看看占满显卡的到底是哪些进程。最常见的异常集中在 dwm.exe、csrss.exe 以及少数第三方软件上。观察对象正常表现异常表现dwm.exe空闲时 GPU 占用很低通常只有几个百分点GPU 3D 占用持续 50% 以上甚至接近 100%Client Server Runtime Process (csrss.exe)GPU 占用几乎为 0CPU 占用也低GPU 占用异常升高同时 CPU 也可能被拉高整体显卡占用率空闲时低于 10%风扇安静空闲时 90% 以上风扇狂转温度升高硬盘活动空闲时活动率低长期 100% 活动响应时间异常偏高需要注意任务管理器默认不一定显示 GPU 列。在“详细信息”或“进程”标签页里右键表头勾选“GPU”和“GPU 引擎”两列即可。GPU 引擎会显示当前进程到底用的是 3D、视频解码还是 Copy 引擎。如果电脑完全闲置桌面没有任何动画、视频、游戏但 GPU 仍接近满载这就是异常状态。把占用 GPU 的进程确认清楚之后再往下走。这里最核心的判断逻辑是如果占用者是第三方软件优先处理软件如果占用者是 dwm.exe 和 csrss.exe优先处理系统和存储如果占用者是陌生进程还要考虑恶意程序。2. dwm.exe 和 csrss.exe 为什么会占用异常2.1 dwm.exe 的职责dwm.exe 全称 Desktop Window Manager即桌面窗口管理器。从 Windows Vista 开始微软把所有窗口的绘制都交给 DWM 统一合成再统一输出到显示器。任务栏缩略图、窗口圆角阴影、透明效果、动画切换这些视觉效果全部由 DWM 调用显卡完成。也就是说只要桌面上有窗口在动DWM 就会产生 GPU 负载。正常的 DWM 负载集中在窗口数量多、分辨率高、刷新率高、动画频繁的场景。比如双 4K 显示器 144Hz 刷新率DWM 占用会比 1080P 60Hz 高不少但通常也不会把显卡直接跑满。如果开机后什么都不做DWM 直接把 GPU 3D 占用拉到 90% 以上系统合成环节一定出了问题。2.2 csrss.exe 的职责csrss.exe 是 Client/Server Runtime Subsystem负责 Win32 控制台窗口、进程创建和销毁、线程调度以及部分系统环境管理。它本身几乎不直接参与图形渲染正常情况下 GPU 占用接近 0。csrss.exe 出现高 GPU 占用的常见情况有两种一是系统异常导致它需要持续处理大量控制台消息二是恶意程序或第三方软件把代码注入到了 csrss.exe 进程里借系统进程的壳运行。后者是排查重点。2.3 常见触发原因类型典型原因显卡驱动驱动版本异常、旧驱动残留、Windows 更新与驱动冲突第三方软件动态壁纸、桌面美化、录屏、远程控制、浏览器硬件加速显示环境多显示器、高分辨率、高刷新率、HDR 同时开启恶意程序挖矿木马伪装成系统进程或注入系统进程存储瓶颈机械盘坏道、SSD 掉速、页面文件频繁读写导致系统进程 I/O 等待堆积2.4 硬盘为什么也会被怀疑标题里提到“可能是硬盘有问题”这不是瞎猜。开机阶段系统要读取大量的系统文件、启动项、服务配置和预读取数据。如果用机械硬盘或者固态硬盘健康度已经明显下降读取一个文件可能反复超时、重试系统进程就会长时间处于等待 I/O 的状态。等待 I/O 本身不会直接提高 GPU 占用但会造成进程调度堆积。DWM 为了完成桌面合成需要从磁盘加载字体、图标、纹理缓存等资源csrss 在启动阶段也要处理大量进程创建和窗口初始化。硬盘一旦成为瓶颈这些工作全部变慢最终表现就是系统整体卡顿、进程占用异常。另外还有一个常见路径物理内存不足时Windows 会把数据换出到页面文件页面文件的读写强度会明显增加。如果页面文件所在硬盘本身就有坏道或掉速系统的每一个操作都会被拖住CPU 和 GPU 的占用曲线也会变得非常不稳定。所以遇到 dwm.exe 和 csrss.exe 占用异常时不能只盯着显卡。把存储子系统也放进排查范围通常能更快定位问题。3. 排查前的工具准备排查前先把手头工具准备好。优先使用系统自带功能避免安装太多第三方软件必要工具再到官网下载。3.1 系统自带工具工具用途任务管理器查看进程 GPU/CPU 占用确认占用来源资源监视器查看磁盘活动率、队列长度、内存 Hard Faults性能监视器 perfmon查看 GPU 引擎、物理磁盘计数器事件查看器查看显卡驱动报错、磁盘报错、系统关键错误Windows Defender全盘扫描排除恶意程序CMD/PowerShell运行 sfc、DISM、chkdsk、Get-WinEvent 等命令资源监视器的打开方式WinR 输入resmon切到“磁盘”和“内存”标签。磁盘队列长度持续大于 2说明磁盘 I/O 已经明显阻塞内存 Hard Faults 持续增长说明物理内存不足系统正在频繁换页。3.2 第三方工具工具用途GPU-Z查看显卡温度、频率、PCIe 带宽、传感器曲线DDU彻底卸载显卡驱动清理残留CrystalDiskInfo查看硬盘 SMART 健康度和温度Victoria扫描机械盘坏道测试读写性能HD Tune Pro扫描错误扇区查看读取速度曲线CrystalDiskMark测试硬盘持续和随机读写速度这些工具都建议从官网下载。部分硬盘检测工具会被杀毒软件误报只要确认是从可靠渠道下载可以按需添加信任。不要在陌生网站下载“绿色版”很容易带上捆绑程序。4. 分步排查流程这一节是核心。按顺序执行每完成一步就观察一次 GPU 占用是否改善。不要跳过尤其是干净启动和硬盘检测这两步最容易定位问题。4.1 第一步确认 GPU 占用真实来源打开任务管理器按 GPU 使用率排序。如果当前有浏览器、视频播放器、直播软件在前台运行先关闭它们再看剩余占用。特别注意 GPU 引擎类型3D渲染 3D 内容包括窗口合成动画异常的 dwm 高占用通常在这里。Video Decode视频硬解看视频、远程桌面、直播时出现是正常的。Copy显存和系统内存拷贝高占用通常意味着大量数据搬运。Overlay桌面窗口覆盖合成动态壁纸、录屏软件容易拉高它。如果关闭所有前台软件后GPU 占用依然很高查看 dwm.exe 的详细路径是否在C:\Windows\System32\下。右键进程选择“打开文件所在位置”。系统正常的 dwm.exe 只存在于 System32 目录其他路径都值得警惕。4.2 第二步干净启动定位第三方软件很多第三方软件会注入到桌面环境里比如壁纸引擎、录屏工具、桌面助手、输入法皮肤、远程控制软件。它们不一定直接显示在任务管理器进程列表的高位但会持续给 DWM 发送绘制指令导致 DWM 负载飙升。执行干净启动WinR 输入msconfig进入“系统配置”。选择“常规” - “有选择的启动”取消“加载启动项”。切到“服务”标签勾选“隐藏所有 Microsoft 服务”全部禁用。在“任务管理器 - 启动”里禁用全部启动项。重启电脑观察 GPU 占用。重启后如果异常消失说明是某个启动项或非系统服务导致的。逐个启用服务每启用一批就重启观察一次直到定位到具体程序。最常见的问题是动态壁纸软件和录屏软件其次是带硬件加速的浏览器和 Electron 应用。4.3 第三步显卡驱动与系统更新检查干净启动后 GPU 占用依旧高下一优先处理显卡驱动。先记录当前驱动版本设备管理器 - 显示适配器 - 右键属性 - 驱动或者用 GPU-Z。然后查看事件查看器里有没有对应显卡驱动错误。常见的显卡驱动相关 Provider 名称包括 nvlddmkmNVIDIA、amdkmdagAMD、igfxIntel 核显。如果事件日志里频繁出现这些名称的报错或警告基本可以判断是驱动问题或显卡硬件问题。处理方式使用 DDU 在安全模式下彻底卸载显卡驱动。从显卡官网下载最新稳定版驱动重新安装。安装完成后重启再观察 GPU 占用。同时不要忽略系统组件完整性。在管理员 CMD 中执行sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth如果系统文件损坏DWM 和 csrss 有可能表现异常。修复后重启继续观察。还有一个容易被忽略的点Windows Update 刚推送完驱动后系统会在后台重建着色器缓存、更新 WDDM 显示模型短时间高占用是正常的。如果高占用状态持续超过半天就不是更新初始化的问题了。4.4 第四步显卡硬件与散热检查软件层面排除后再看硬件。打开 GPU-Z 的传感器页面观察GPU 温度是否过高超过 80 度要留意。核心频率和显存频率是否长时间锁定在高位。PCIe 带宽是否只有 x1 或 x4接触不良会导致性能异常。显卡风扇转速是否正常。笔记本用户还要检查是否误开了独显直连模式或者混合输出模式下显卡切换异常。如果显卡已经出现花屏、黑屏、驱动反复掉线则优先怀疑硬件故障。温度过高导致的降频同样会让系统界面表现异常。清理机箱积灰、更换散热硅脂、检查机箱风道都是常见的处理方式。4.5 第五步恶意程序排查如果前面几步都无效需要正视恶意程序的可能性。不要看到系统进程名就认为一定是安全的现在的挖矿木马和注入工具经常伪装为 dwm.exe、csrss.exe或向这些进程注入代码。执行以下操作打开任务管理器查看 dwwm.exe、csrss.exe 的路径是否在系统目录。Windows Defender 执行一次全盘扫描。检查启动计划任务里有没有可疑任务。检查网络连接中是否有异常的外连地址。用管理员 PowerShell 列出已建立的异常连接Get-NetTCPConnection -State Established | Where-Object { $_.RemotePort -eq 443 -or $_.RemotePort -eq 8443 -or $_.RemotePort -eq 4444 } | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, OwningProcess | Sort-Object RemotePort将 OwningProcess 对应的进程 ID 拿到任务管理器中反查进程名。如果看到未知进程保持长连接且路径不在系统目录或 Program Files 常见目录下需要重点处理。对于自己不熟悉的进程先搜索确认其官方来源再决定是否结束。4.6 第六步硬盘与系统存储专项排查软件和驱动都排完之后硬盘检查一定要做。这一步在分区教程里经常被忽略却是很多“dwm.exe 占用异常”的根因。先看资源监视器的磁盘活动。在“资源监视器 - 磁盘”里按“总活动”排序观察是哪个进程在持续读写磁盘。同时看“磁盘队列长度”曲线如果持续高于 2说明磁盘 I/O 已经严重阻塞。然后检查磁盘系统和驱动错误。管理员 CMD 执行chkdsk C: /scan这个命令不会修复文件只检查卷上是否有损坏适合第一次评估。如果提示有问题再执行离线修复但前提是先备份重要数据chkdsk C: /offlinescanandfix接着在事件查看器里查看系统日志中是否存在 disk、ntfs、storahci、nvme 等来源的错误。用管理员 PowerShell 抓取最近 3 天与存储相关的错误Get-WinEvent -FilterHashtable {LogNameSystem; Level1,2; StartTime(Get-Date).AddDays(-3)} -ErrorAction SilentlyContinue | Where-Object { $_.ProviderName -match disk|ntfs|storahci|nvme|volmgr -or $_.Message -match disk|硬盘|停止响应|重试 } | Select-Object TimeCreated, ProviderName, Id, LevelDisplayName, Message | Format-Table -AutoSize -Wrap如果事件日志里频繁出现“磁盘重置”“设备未响应”“重试”等字样基本可以断定硬盘状态不健康。接下来做一次完整检测。5. 硬盘检测实操SMART、坏道与性能验证5.1 CrystalDiskInfo 看 SMARTCrystalDiskInfo 是最快判断硬盘健康度的工具。打开后直接看“健康状态”绿色“良好”相对安全黄色“警告”需要备份数据红色“危险”建议立刻停用。关键 SMART 属性要重点看属性含义警告信号05 重映射扇区计数已经用备用区替换的坏扇区数数值持续增长C5 待映射扇区计数准备重映射但还没处理的坏扇区不为 0 就要注意C6 不可纠正错误计数无法通过硬件恢复的错误只要出现就危险0B 写入错误计数写入失败次数持续增长说明盘老化C2 温度工作温度机械盘超过 50 度固态盘超过 70 度要留意只要 05、C5、C6 任意一项不为 0或者多次扫描后数值明显增长这块盘就已经不稳定了继续作为系统盘使用会持续带来卡顿和异常占用。5.2 Victoria 扫描机械盘坏道机械硬盘建议用 Victoria 做一次完整的坏道扫描。操作步骤以管理员身份运行 Victoria。在顶部选择目标硬盘注意别选错盘。切到“Tests”标签默认的 Read 测试即可。点击“Scan”等待扫描完成。扫描结果用色块表示绿色块是正常橙色块是响应慢红色块是坏道X 表示读取失败。少量橙色块可以继续观察出现红色块和 X 就代表物理坏道已经存在。如果坏道集中在某个区域且系统文件、关键数据不在该区域可以用 Victoria 的 Remap 功能做坏道重映射。但重映射并不能真正修复物理损伤只是把坏道标记出来后续坏道还会继续扩散。最好的处理方式始终是备份数据并更换硬盘。5.3 HD Tune Pro 验证读写性能HD Tune Pro 可以做错误扫描和基准测试。使用“基准”测试时选择读取测试观察整盘读取速度曲线。机械盘正常曲线是从外圈到内圈逐渐递减如果曲线出现断崖式下跌、出现大量低值区块说明盘面有明显损伤。同时用“错误扫描”做一次不带写入的全盘扫描能发现文件系统层无法定位的坏扇区。扫描时间较长建议在空闲时段执行。测试时注意硬盘温度过高就暂停散热。5.4 固态盘专项检查固态硬盘没有机械结构坏道扫描不适用重点看主控错误、NAND 健康和固件状态。使用 CrystalDiskInfo 查看 Wear Leveling Count、Media Wearout Indicator 等 NAND 磨损指标。正常情况下健康度会随写入量缓慢下降如果短时间内出现断崖式下降说明颗粒体质有问题或固件存在设计缺陷。检查 TRIM 是否开启管理员 CMD 执行fsutil behavior query DisableDeleteNotify如果返回值是 1说明 TRIM 被关闭固态盘删除数据后无法回收块长期使用性能会明显下降。需要重新开启fsutil behavior set DisableDeleteNotify 0同时关注固态盘固件版本到对应品牌官网比对是否有新固件。部分型号的掉速、卡顿、异常重置问题都可以通过更新固件解决。5.5 检测结论怎么用硬盘检测结果出来后按结论处理机械盘无坏道、速度正常问题大概率不在硬盘继续排查其他方向。机械盘有少量坏道且系统文件不在坏道区域可以先用软件屏蔽坏道区域并立即备份数据。机械盘坏道较多或出现在系统分区建议直接更换不要再作为系统盘使用。固态盘健康度低于 90% 且持续下降或已经出现大量重映射建议尽快备份后申请保修或更换。固态盘健康度正常但读写速度大幅低于标称值先更新固件、检查散热再判断是否需要更换。如果硬盘本身状态不佳即使显卡驱动是新的、系统是干净的dwm.exe 和 csrss.exe 的异常占用依然会周期性出现。因为系统进程在等待磁盘 I/O 时会出现调度堆积表现出来就是 GPU 占用高、系统卡顿、风扇狂转。6. 用 PowerShell 批量采集系统状态排查和后续监控都可以写成脚本减少手工操作。以下脚本适合在管理员 PowerShell 中运行用于记录关键状态方便对比问题出现前后的变化。6.1 抓取 GPU 引擎利用率Get-Counter \GPU Engine(*)\Utilization Percentage -SampleInterval 2 -MaxSamples 3 | Select-Object -ExpandProperty CounterSamples | Where-Object { $_.CookedValue -gt 5 } | Sort-Object CookedValue -Descending | Select-Object Path, CookedValue | Format-Table -AutoSize这个命令依赖显卡驱动提供性能计数器NVIDIA、AMD、Intel 新驱动基本都支持。输出中可以看到占用高于 5% 的具体 GPU 引擎路径包含进程 ID 和引擎类型。6.2 查看磁盘健康状态与可靠性计数Get-PhysicalDisk | Select-Object FriendlyName, MediaType, HealthStatus, OperationalStatus, Temperature | Format-Table -AutoSize Get-StorageReliabilityCounter -PhysicalDisk (Get-PhysicalDisk | Where-Object MediaType -eq HDD) | Select-Object DeviceId, Temperature, ReadErrorsTotal, WriteErrorsTotal, Wear | Format-Table -AutoSize输出中的 Wear 表示固态盘磨损程度ReadErrorsTotal 和 WriteErrorsTotal 是累计读写错误数。如果读写错误数在短时间内持续增加说明盘片或颗粒已经不稳定。6.3 抓取磁盘队列长度Get-Counter \PhysicalDisk(_Total)\% Disk Time, \PhysicalDisk(_Total)\Current Disk Queue Length -SampleInterval 2 -MaxSamples 5队列长度长期大于 2说明磁盘响应能力不足。这个情况在机械盘坏道、SSD 掉速、页面文件频繁读写时都会出现。6.4 集中收集关键错误日志Get-WinEvent -FilterHashtable {LogNameSystem; Level1,2; StartTime(Get-Date).AddDays(-3)} -ErrorAction SilentlyContinue | Where-Object { $_.ProviderName -match nvlddmkm|amdkmdag|igfx|dxgkrnl|disk|ntfs|storahci|nvme } | Select-Object TimeCreated, ProviderName, Id, LevelDisplayName, Message | Format-Table -AutoSize -Wrap把以上脚本保存为 .ps1 文件用“以管理员身份运行”的方式执行。如果担心每次手工执行太麻烦可以通过任务计划程序在“用户登录时”触发一次将结果输出到文本文件。$logFile C:\temp\gpu-disk-check.txt $timestamp Get-Date -Format yyyy-MM-dd HH:mm:ss $timestamp | Out-File $logFile -Append Get-PhysicalDisk | Select-Object FriendlyName, HealthStatus, MediaType, OperationalStatus | Format-Table -AutoSize | Out-File $logFile -Append Get-Counter \PhysicalDisk(_Total)\Current Disk Queue Length -SampleInterval 2 -MaxSamples 3 | Out-File $logFile -Append这样每次开机登录后自动记录一次磁盘状况下次再出现异常时可以直接对比日志判断是不是硬盘先出问题。自动化采集的思路也适用于其他系统状态只要把计数器换成对应的性能对象即可。7. 常见问题与排查对照表问题现象可能原因排查方式解决方案开机后 dwm.exe 的 GPU 3D 占用 90% 以上动态壁纸、桌面美化、录屏软件挂钩 DWM干净启动逐项禁用启动项卸载或更新对应软件dwm.exe 高占用伴随屏幕闪烁、黑屏显卡驱动异常或 TDR 触发事件查看器查 nvlddmkm / amdkmdagDDU 卸载后重装旧稳定版驱动csrss.exe 的 GPU 占用异常线程注入、恶意程序、系统文件损坏检查进程路径 Defender 全盘扫描杀毒、修复系统文件、重装系统外壳程序 Explorer.exe 也明显占用 GPU缩略图缓存损坏、第三方 Shell 扩展重建缩略图缓存用 ShellExView 检查扩展清理缓存、禁用可疑扩展空闲时显卡占用高3D 曲线持续跳动浏览器、Electron 应用硬件加速任务管理器逐进程确认关闭硬件加速或更新软件磁盘活动率一直 100%系统卡顿机械盘坏道、SSD 掉速、文件碎片严重Victoria / HD Tune / CrystalDiskInfo备份数据、更换硬盘、整理碎片页面文件频繁写入GPU 偶发拉满物理内存不足硬盘换页成为瓶颈资源监视器看 Hard Faults增加内存将页面文件放到 SSD事件日志反复出现 disk 重置、nvme 错误硬盘固件 bug、供电不足、线材问题更新固件、换数据线和供电接口更换线材或硬盘这张表可以当作快速参考。实际排查时把现象、可能原因、排查方式三列对应起来能少走很多弯路。尤其要注意“磁盘活动率 100%”和“dwm.exe GPU 占用高”同时出现的情况这种情况下优先处理硬盘。8. 最佳实践与合规提醒8.1 日常维护建议机械硬盘用户定期用 CrystalDiskInfo 查看 SMART重点关注 05、C5、C6 三个属性。固态硬盘用户不要等到健康度归零才备份健康度低于 90% 就要开始做数据冗余。系统盘优先选择固态硬盘页面文件放在固态盘上能明显减少 DWM 和 csrss 的 I/O 等待。显卡驱动更新前先看版本反馈不要追最新稳定优先。保持系统补丁更新但要留意 Windows 更新推送的显卡驱动是否导致兼容问题。动态壁纸、录屏、远程控制这类常驻软件能不用就不用或者用完即退。定期检查启动项和计划任务避免无关程序在开机时拉起大量后台任务。8.2 数据安全与隐私合规硬盘检测、坏道扫描、分区操作都有一定风险。扫描前务必确认选中的是正确磁盘避免误操作。涉及重要数据时先做镜像备份再执行修复命令。排查恶意程序时只能针对自己的电脑不要尝试绕过系统安全机制。远程排查他人电脑必须获得对方明确授权。这一点在协助处理同事或朋友电脑时尤其重要避免因为误操作引起纠纷。如果硬盘已经出现物理坏道最稳妥的方案不是反复试修复而是立刻把重要文件备份出来再考虑更换硬盘。数据无价硬件可以换数据丢不起。任何声称能在物理坏道上“完全修复”并长期稳定的说法都值得怀疑。在实际使用中如果遇到杀毒软件误报硬盘检测工具的情况先确认文件来源再决定是否放行。从官网下载、核对文件数字签名是最基本的安全习惯。9. 总结这套排查流程的最优先验证点是先确认 GPU 占用者是谁。如果是 dwm.exe 和 csrss.exe就按“干净启动 - 显卡驱动 - 硬盘检测”的顺序走。最容易踩的坑是只重装显卡驱动而不看硬盘结果问题反复出现最后换一块硬盘反而解决了。硬盘检测不用做得很复杂先看 CrystalDiskInfo 的 SMART再看资源监视器的磁盘队列最后用 Victoria 或 HD Tune 扫一遍基本就能得出结论。把检测命令和采集脚本做成计划任务每次开机自动记录一份状态日志下次再出问题时就能快速对比。后续扩展方向可以往硬件监控和自动化巡检走比如把 GPU 占用、磁盘队列、SMART 属性、事件日志统一采集到日志系统里设定告警阈值。这样不等问题把系统卡到没法用就能提前发现硬盘或显卡的异常趋势。先把手头这台机器上的问题定位清楚再决定下一步。如果排完上面的步骤问题依然存在且硬盘检测一直报错那就不要再犹豫了除了更换硬盘没有更可靠的方案。
返回列表