阿里云ECS服务器
CPU: 2核
内存: 8192 MB
带宽: 5Mbps
环境: Windows 2012 + SQL Server 2012 +IIS8+ASP Mvc5
故障表现:系统平时运行是正常的,在某一时间点,系统访问非常慢,大概最近几天,每天发生1到2次,通过回收IIS进程池才能解决.
事件查看器日志: 资源池 'internal' 没有足够的系统内存来运行此查询。
Sql Server日志:
日期 2016/5/25 14:18:45
日志 SQL Server (当前 - 2016/5/24 8:57:00)
源 spid76
消息
There is insufficient system memory in resource pool 'internal' to run this query.
日期 2016/5/25 14:18:49
日志 SQL Server (当前 - 2016/5/24 8:57:00)
源 Server
消息
错误: 17300,严重性: 16,状态: 1。(参数:)。所显示的错误消息非常简洁,因为在格式设置期间有错误。跟踪、ETW 和通知等均被跳过。
请问以上故障需要如何排查并解决?
iis进程占内存太多,导致sql没有内存跑查询了。监控服务器内存使用情况,到达一定情况报警。然后人工干预处理。可以dumpiis进程。分析一下内存泄漏
这个多半是你的程序有问题,连接未及时关闭/释放造成的,我的也是阿里云;好好检查程序里与数据库交互的代码吧