避坑:SQL Server一项默认设置可导致服务器莫名吃光内存

发现问题

某项目服务器采用64核、512GB内存的“顶级”配置。同时使用该服务器的Oracle及各项服务的作业人员近百名,服务器轻松运行理应不在话下。然而,某段时间,内存占用突然居高不下,始终在97%以上的高位波动。
网管三招第一式——重启。重启后,内存初始占用在20%左右。而后,逐渐攀升,最后又暴增至97%以上。眼见问题又复现。悲摧!
查找占用内存的进程时,发现除了正在使用的两个Oracle实例分别占用了80GB、40GB内存外,其他进程最多只占用数GB的内存。所有进程占用内存之和远远低于系统总内存512GB啊!停止非本项目使用的部分进程和服务后,发现内存先是略微下降,稍后又增至97%以上。仿佛有一个不在任务管理器中显示真实内存占用数值的进程,在不断地吞噬着有限的内存值,有多少它吃多少!到底是谁呢?
512GB内存耗尽

排查解决

在排查过程中,逐渐将疑点放在了SQL Server上。
果然,其对最大内存的使用值设置为2147483647MB。
天呐!问题就出在这里了。
SQL Server默认的最大服务器内存设置
尝试着将其修改为1024MB后,内存占用直线下降。
内存占用下降中
最终,内存占用率稳定在22%左右,这是正常的。
内存占用恢复正常

最后总结

  • 任务管理器中找不到真正原因的进程,要合理怀疑是不是“微软全家桶套餐”搞的鬼。
  • SQL Server有此天坑,要提高警惕!提高警惕!!提高警惕!!!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值