SQLSERVER吞噬内存解决记录

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 现在手上有一个不大不小的系统,运行了一段时间,因为是24*7不断运行,所以内存逐渐增高,慢慢的会飙到95%以上,然后不得不重启电脑,因为用的是云,怕虚拟机重启down掉起不来,重启操作还只能在凌晨4、5点人为弄,周而复始的搞很累,于是下决心找出来到底是什么吞内存  以上两张图是系统的配置和内存...

现在手上有一个不大不小的系统,运行了一段时间,因为是24*7不断运行,所以内存逐渐增高,慢慢的会飙到95%以上,然后不得不重启电脑,因为用的是云,怕虚拟机重启down掉起不来,重启操作还只能在凌晨4、5点人为弄,周而复始的搞很累,于是下决心找出来到底是什么吞内存

 

 

以上两张图是系统的配置和内存占有情况,可以计算出来,在任务管理器中实际显示使用的内存不到2G,而我4核8G的服务器已经是相对不错的配置了,到底是什么东东占用了内存呢,为什么没有在任务管理器里面显示出来?

为了达到这个目的,我找到了微软官方的工具 RAMMap

http://technet.microsoft.com/zh-cn/sysinternals/ff700229.aspx

运行一看,AWE这条占了7G多,那AWE又是什么呢,具体是哪个软件导致的呢?继续往下挖

首先是AWE的定义,从这篇可以找到,可以看到AWE和SQL有关

http://blogs.technet.com/b/askperf/archive/2010/08/13/introduction-to-the-new-sysinternals-tool-rammap.aspx

 

于是找到这篇Why does my SQL Server use AWE memory? and why is this not visible in RAMMap?”

http://serverfault.com/questions/558287/why-does-my-sql-server-use-awe-memory-and-why-is-this-not-visible-in-rammap

从标题基本已经可以猜测到了,这事肯定是SQLSERVER干的,继续往下了解

 

http://dba.stackexchange.com/questions/48504/awe-memory-usage-growing-with-sql-server-2012

http://blogs.msdn.com/b/psssql/archive/2009/09/11/fun-with-locked-pages-awe-task-manager-and-the-working-set.aspx

这两篇会告诉你SQLSERVER和AWE的关系

 

http://technet.microsoft.com/zh-cn/library/ms178067(v=sql.105).aspx

这篇会告诉你如何限制SQLSERVER不停的吞噬内存,基本命令如下:

 

sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

sp_configure 'max server memory', 4096; --设置最大可使用内存为4G

GO

RECONFIGURE;

GO

 

http://www.brentozar.com/archive/2011/09/sysadmins-guide-microsoft-sql-server-memory/

这篇会告诉你限制 max server memory已经不合适了应该加内存了

以上,基本解决内存问题,随笔记录

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
7月前
|
SQL 存储 算法
比 SQL 快几倍到几百倍,这个国产数据库技术真的强
SPL 作为专门用于结构化和半结构化数据的处理技术,在实际应用时经常能比 SQL 快几倍到几百倍,同时代码还会短很多,尤其在处理复杂计算时优势非常明显。用户在看到这些应用效果后对 SPL 往往很感兴趣,但又担心掌握起来太难,毕竟 SPL 的理念和语法都跟 SQL 有较多不同,这要求用户需要重新了解一些概念和学习新的语法,用户可能会心生疑虑
57 0
|
SQL 存储 程序员
数据库:SQLServer中游标的用法笔记
游标可以理解为SQL Server的一种数据访问机制,它允许用户访问数据的维度是数据行。用户可以对每一行数据进行单独处理,从而降低系统开销和潜在的阻隔情况,
数据库:SQLServer中游标的用法笔记
|
SQL 数据库连接 数据库
sqlserver数据恢复(100%可用)
sqlserver数据恢复(100%可用)
165 0
sqlserver数据恢复(100%可用)
|
SQL C# 数据库
SQLSERVER执行性能统计工具SQLQueryStress
原文:SQLSERVER执行性能统计工具SQLQueryStress SQLSERVER执行时间统计工具SQLQueryStress 有时候需要检测一下SQL语句的执行时间,相信大家都会用SET STATISTICS TIME ON开关打开SQLSERVER内置的时间统计 1 SET STA...
1242 0
|
SQL Go 关系型数据库
|
SQL Go 数据库
SQLSERVER排查CPU占用高的情况
今天中午,有朋友叫我帮他看一下数据库,操作系统是Windows2008R2 ,数据库是SQL2008R2 64位 64G内存,16核CPU 硬件配置还是比较高的,他说服务器运行的是金蝶K3软件,数据库实例里有多个数据库   现象 他说是这几天才出现的,而且在每天的某一个时间段才会出现CPU占用高的情...
889 0
|
SQL 数据库
SQLServer 进程无法向表进行大容量复制(错误号: 22018 20253)
原文:SQLServer 进程无法向表进行大容量复制 我的环境:SQL SERVER 2008 R2:发布者 ->SQL SERVER 2017 订阅者 进程无法向表“"dbo"."XXXXX"”进行大容量复制。
2511 0
|
SQL 存储 缓存
sqlServer对内存的管理
简介     理解SQL Server对于内存的管理是对于SQL Server问题处理和性能调优的基本,本篇文章讲述SQL Server对于内存管理的内存原理。   二级存储(secondary storage)     对于计算机来说,存储体系是分层级的。
1139 0

相关实验场景

更多