Windows 10 查找内存泄漏程序

Windows 10 运行一段时间内存占用会爆满,Non-paged pool 占用内存会剧增,好多G。

网上查询资料,此情况通常是驱动之类导致的内存泄漏,尤其可能是网卡驱动。更新主板、网卡驱动之类后,发现并没有解决。进一步查询资料,发现了 poolmon.exe 这个工具,可具体定位内存泄漏的程序/文件,下载 poolmon.exe 工具后, 重启电脑后执行:

poolmon.exe -p -b

如上图,运行一段时间后,发现是 Thre 这个tag 占用内存缓慢增加。 命令行下,进行 C: 根目录,在根目录开始查找使用此 Tag 的程序,输入

C:>findstr /s Thre *.sys

但使用 findstr 通常会报错:FINDSTR: write error 下载使用 strings.exe 结合使用比较好

strings.exe *.sys | findstr /s Thre

与网上别人遇到的情况不同,查找出来包含 Thre 字符的 *.sys 文件特别多,因为匹配 Thread 后来发现停用 MySQL 数据库服务,内存占用降低。 再次启动MySQL 服务,观察 Thre tag 占用内存,会一点点增大,自此发现根源。 再次尝试在 MySQL 安装目录再次查询

strings.exe *.sys | findstr /s Thre

没有找到任何匹配结果……

当前 MySQL 版本 5.7.9,准备升级。 下载 MySQL 5.7.30 安装包,安装时提示发现旧版本,可升级。升级完成后,观察一段时间,内存泄漏问题未再出现…

经验分享 程序员 微信小程序 职场和发展