首页/系统/Windows 运维速查/线程状态与等待排查
本包目录(413 条)
CMD 常用命令74 条PowerShell 基础66 条网络排查41 条
服务与进程42 条
磁盘与文件43 条用户与权限34 条AD 域与组策略39 条日志与事件38 条远程管理36 条

线程状态与等待排查

进程卡住时下钻到线程:看线程数与 CPU 时间排序,配合 Process Explorer 线程栈/Wait Chain 找到阻塞点在等什么。

Windows 运维速查系统更新于 2026-10-12
用途查看线程状态、等待原因与 CPU 时间
快捷方式$p.Threads 枚举线程;Process Explorer 双击进程看线程
进阶Wait Chain Traversal 查锁等待;托管代码用 dotnet-stack/dotnet-dump

常用示例

常用示例
$p = Get-Process -Name MyApp
$p.Threads | Sort-Object TotalProcessorTime -Descending | Select-Object -First 5 Id, ThreadState, WaitReason, TotalProcessorTime
CPU 高的线程用 Process Explorer 看调用栈;卡在锁上的看 Wait Chain 表现出的等待环。

易错点

  • ThreadState/WaitReason 是采样快照,瞬时状态要多抓几次对比
  • 托管死锁要看托管栈,原生线程栈可能完全看不出原因

数据来源与参考

  • Microsoft Learn:Process.Threads 属性
  • Microsoft Learn:Process Explorer

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌