Win10 - 一次定位 - 由于显卡驱动相关, 导致的 CPU 占用率过高
-
概述
- 记录一次 cpu 占用的定位与诊断
-
背景
- 前段时间卸载了 wise system monitor, 系统不再崩溃
- 不过卸载的时候, 显卡驱动掉了, 所以我重装了一次显卡驱动
- 感觉又恢复了祥和
- 谁知道电脑时不时又抽风
1. 症状
-
概述
- 电脑的并发症
-
症状
-
忽然变迟钝
-
cpu 占用率打到 100%
- i7-8700k, 12 个假核心都满了
- 虽然现在只是 i5 水平了, 但是 12 个核心都沾满, 一般的游戏, 应用也不会这样
-
机箱风扇大作
- cpu 占用率上来, 原因就是 cpu 在工作
- 6 个物理核满负载工作, 必然就会有比较大的功率消耗
- 结果就是 风扇呼呼大作, 感觉就像要起飞了...
-
感觉普通的任务管理器, 已经满足不了我定位问题的需求了
-
2. 工具
-
概述
- procexp64
-
procexp64
3. 思路
-
概述
- 处理问题的基本思路
-
cpu 占用率
- 关注 cpu 占用
- procexp64 肯定会给出一个 进程
- 找到那个进程, 后续再想怎么处理
4. 处理过程
- 概述
- 问题的过程
1. 定位
- 结果
- Interrupt - 系统中断
- 没有对应的进程...
- 卧槽这是什么鬼
- Interrupt - 系统中断
2. 换了个思路
-
系统中断
- 原因
- 系统 IO
- 原因
-
我去看了看 IO
- 果然有个文件, 一直占用着 IO
- 0.dat
- 果然有个文件, 一直占用着 IO
-
继续关注文件
- 发现文件是 Nv 开头的进程一直在写入
- Nv...难道是那个 皮衣男?
- 发现文件是 Nv 开头的进程一直在写入
3. 后续
-
关闭服务
NVDisplay.ContainerLocalSystem NvContainerLocalSystem NvContainerNetworkService
-
结果
- 关闭之后没多久, cpu 的高占用就没有发生了
- 而且操作后一天之内, 再没有出现过 cpu 高占用的情况
- 差不多是我粗略验证了一天, 再写下来的吧...
-
问题
- 这三个 显卡相关 的服务, 关了显卡不会受影响吗?
- 我查阅了下, 初步感觉影响不大
- NVIDIA Display Container LS 和 NVIDIA 控制面板 有关
- 如果真的要用了, 可以先手动开启服务, 再使用控制面板
- 其他的服务, 暂时没什么影响
- 退一步, 实在不行最后再来打开
- 我查阅了下, 初步感觉影响不大
- 这三个 显卡相关 的服务, 关了显卡不会受影响吗?
ps
-
ref
- 大神出来看看NVIDIA这几个服务到底做什么的
- 这算是一个简单的说明, 官方的内容, 我懒得找了...
- NVIDIA驱动程序导致Windows 10的CPU使用率高
- 2019 年的新闻
- 新闻里说, 修正了NVDisplay.Container.exe在430.39驱动程序中引入的CPU使用率过高的问题
- 我目前的版本, 是 445.75, 所以...
- 2019 年的新闻
- 大神出来看看NVIDIA这几个服务到底做什么的
-
后续
-
莫名其妙的瞎折腾一阵后, 对 win10 的一些问题定位, 已经稍微有了些眉目
- procexp
- 查看资源占用, 查看 io
- 定位 资源消耗 进程
- wdk 下的 windbg
- 查看内存崩溃的 dmp 文件
- 定位崩溃进程
- procexp
-
进一步确认
- 目前能做的东西, 只能定位到 进程
- 处理的办法, 除了 关闭, 卸载 之外, 暂时没有
- 但是来自 堆栈, 内存 的具体 信息
- 如果可以准确给开发者反馈, 应该能帮上他们不少吧
- 目前能做的东西, 只能定位到 进程
-
后续还碰到了没有 io 的系统中断...
- 当然是后话了, 不过这...
-
尽量尝试解释清楚; 自己校对能力有限, 如果有错误欢迎指出