建议使用Chrome浏览器访问!
技术支持
互动社区
学习培训
深信服官网
合作伙伴

【aDesk】第三方软件句柄泄露导致虚拟机长时间运行后卡死

更新时间:2023-10-19 10:02:16
  • 下载
  • 分享
  • 收藏
Win10虚拟机长时间运行,CPU和内存占满,提示系统资源不足,无法完成请求的服务后虚拟机卡死。
1. 管理员权限运行cmd,执行 poolmon.exe -a
poolmon.zip (29.19 KB)
运行一段时间,根据分配和释放的内存是否存在明显差异来判断是否存在内核(驱动这一层)内存泄露。
当前案例下,分配和释放的内存无明显差异。
初始状态:
运行一晚后:
2. 在运行过较长时间但未卡死的虚拟机上查看进程的句柄信息:
句柄数量涨到了79万!
杀掉进程后,虚拟机CPU和内存都降下来了
第三方软件句柄泄露导致,软件版本:


1. 根因由第三方厂商处理;
2. 按照VDI测试提供的最佳实践,定期关机。
1. 长时间运行卡死的问题,从类型上区分,存在两种可能:
(1) 应用程序内存泄露、句柄泄露导致;
通过任务管理器或procexp.exe在未卡死的虚拟机上查看进程列表,查看当前是否存在明显CPU、内存占用高,或句柄数量异常的进程。
(2) 驱动(尤其是加密、安全相关软件)内存泄露、注入进程后引发进程关闭时无法完全释放进程空间。
按照前面的方法通过poolmon.exe 查看驱动是否存在明显的内存泄露,明显的如下图所示:
Allocs和Frees存在明显的差异,这个时候再根据Tag(图中的FMfn)去搜索对应的驱动是哪个:
findstr /s /m /l "FMfn" c:\windows\system32\drivers\*.sys

找不到可以用everything搜索驱动文件存在的文件夹,逐个替换到上述findstr命令的目录。
案例让我的问题处理变得简单了
选择标签:
更多意见:
手机号码:
如果未能解决您的问题,您可以使用 在线客服 寻求帮助
在线客服
您当前处于未登录状态,资料搜索或查找可能会不全面,请登录后以查找更全面的内容注册登录