Windows系统卡顿排查
约 996 字大约 3 分钟
2026-08-29
Windows 实例"卡"主要有五类原因:CPU 打满、内存不足、C 盘空间耗尽、磁盘 IO 瓶颈、带宽占满。本文按顺序定位并处理。
第一步:任务管理器定位
按 Ctrl + Shift + Esc 打开任务管理器:
- 进程页:分别按 CPU、内存排序,找到占用最高的程序。
- 性能页:查看 CPU、内存、磁盘的整体曲线与占用百分比。
提示
"系统"或"服务宿主(svchost)"占用高时,展开查看其子服务;WmiPrvSE、MsMpEng(Defender)瞬时偏高多为系统扫描,观察几分钟即可。
CPU 高
- 记录占用最高的程序名。
- 是自己的业务程序:结合业务日志分析,优化代码或升级配置。
- 来历不明的进程持续高占用:用 Windows Defender 做一次完整扫描排查恶意软件。
- Windows 更新期间(TrustedInstaller)占用高属正常,更新完成自动回落。
内存不足
- 性能页查看"可用"内存与"已提交"数值:已提交持续超过物理内存说明吃紧。
- 处理:
- 关闭不用的程序,重启长期运行的程序(内存泄漏的临时缓解)。
- 配置或加大虚拟内存兜底,参见配置Swap与虚拟内存。
- 长期不足则升级实例内存。
C 盘空间耗尽(最常见的卡顿原因)
C 盘剩余空间过少会显著拖慢系统甚至无法登录。清理顺序:
- 磁盘清理:右键 C 盘 → 属性 → 磁盘清理 → 清理系统文件,勾选 Windows 更新清理、临时文件。
- 临时目录:删除
%temp%(资源管理器地址栏直接输入)与C:\Windows\Temp下的内容。 - 组件存储:管理员 CMD 执行
Dism /Online /Cleanup-Image /StartComponentCleanup清理 WinSxS 更新残留。 - 大文件定位:资源管理器按大小排序,或用工具(如 WizTree)扫描;确认无用后再删。
- 转移大文件:网站数据、数据库文件等迁往数据盘(挂载与初始化见Windows数据盘初始化与分区)。
- 更多方法:关闭休眠、迁移虚拟内存、清理 IIS 日志等完整流程见Windows系统盘空间清理。
磁盘 IO 高
- 任务管理器 → 性能 → 磁盘:查看"活动时间"是否长期 100%。
- 打开资源监视器(
resmon)→ 磁盘页,按"总(B/秒)"排序定位进程。 - 常见原因:数据库写入、日志狂刷、备份任务与业务高峰重叠——错峰执行(参见Cron定时任务思路)或优化程序。
带宽占用高(访问慢、远程也卡)
网站打开慢但 CPU、内存都不高时,优先怀疑公网带宽被打满:
- 任务管理器 → 性能 → 以太网:观察流量曲线是否长期顶着带宽上限跑。
- 打开资源监视器(
resmon)→ 网络页,按"总计(B/秒)"排序,定位是哪个进程在收发流量。 - 按原因处理:
- 业务高峰:大文件下载、图片爬虫耗尽带宽——限制下载速度、加缓存或升级带宽。
- 程序异常外发:没有业务背景的进程持续高速外发流量,可能是被入侵后当作跳板——先封禁其联网,再按异常登录排查加固,参见SSH安全加固清单;进程定位与持久化清理的思路与 Linux 相通,可参考Linux挖矿病毒排查与清除。
- 带宽长期不够用就升级配置;Linux 下带宽占用高的排查见Linux系统卡顿排查。
重启与兜底
以上定位不出明确原因时,先重启实例观察是否复现;反复出现则记录卡顿时间点与当时运行的程序,提交工单时附上任务管理器截图与系统日志(参见Windows服务器系统日志)。
