Sql server windows nt 64bit 内存占用过高解决办法

首先说明,如果单纯的就是内存不断慢慢增高,那您可以看这篇文章。配置一些sql server所占用的最大内存即可解决:

内存占用居高不下

Sql server windows nt 64bit 内存占用过高解决办法

现象:

        1.重启sql服务后,sql服务以没秒100M的速度在吞噬着内存

        2.用管理工具登录sql发现非常卡,很难连接进去(运行这么大的内存,当然很卡)

降内存的办法

解决的原理就是控制sqlserver消耗内存与释放内存的原因,经查文献和试验可知,SQL Server对服务器内存的使用策略是用多少内存就占用多少内存,只用在服务器内存不足时,才会释放一点占用的内存,至少释放多少,完全由sql server控制,所以SQL Server 服务器内存往往会占用很高。

SQL Server提供数据库脚本查徇内存占用情况

sql script: DBCC MemoryStatus
Sql server windows nt 64bit 内存占用过高解决办法

这些内存一般都是Sql Server运行时候用作缓存的:

数据缓存:执行查询语句,Sql Server会将相关的数据内容(Sql Server操作的数据都是以页为单位的)加载到内存中进行缓存,以便于再次请求此页的数据的时候,直接从内存返回,大大提高了提取效率。
执行命令缓存:在执行存储过程,自定函数时,Sql Server需要先二进制编译再运行,编译后的结果也会缓存起来, 再次调用时就无需再次编译。

其它DBCC管理命令
DBCC FREEPROCCACHE 清除存储过程相关的缓存
DBCC FREESESSIONCACHE 会话缓存
DBCC FREESYSTEMCACHE(‘All’) 系统缓存
DBCC DROPCLEANBUFFERS 所有缓存

以上命令虽然会清除掉现有缓存,为新的缓存腾出空间,但是Sql server并不会因此释放掉已经占用的内存。Sql Server并没有提供任何命令允许我们释放不用到的内存。因此我们只能通过动态调整Sql Server可用的物理内存设置来强迫它释放内存。

步骤:

Sql server windows nt 64bit 内存占用过高解决办法
Sql server windows nt 64bit 内存占用过高解决办法

按以上步骤,设置sql占用内存的上限,就会让sqlserver在内存上限范围内,主动清除脏数据替换成热数据,不至少向吸血鬼一样,无休止占用内存。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6247

(0)
安屠生的头像安屠生
上一篇 2022年11月29日 下午3:47
下一篇 2022年12月1日 上午9:01

相关推荐

  • Windows server 2012 r2 修改用户名、修改密码、设置服务器禁止ping、修改远程连接端口为39527、增加一个内网ip、安装mysql/php。

    修改用户名 1.打开左下角的win标,然后点管理工具 2.打开本机安全策略 3.打开本地策略-安全选项-翻到最下面,打开重命名系统管理员账户 4.双击打开,输入自己的需要的,然后点击“应用”-“确定” 5.然后到“计算机管理”这边,点击“本地用户和组”-“用户”,发现管理员的名称已经更改成功 修改密码 1.选择想改变密码的账户右击,选择“设置密码” 2.点击…

    2022年7月18日
    2.5K00
  • crontab中反引号和$()无效的解决

    问题描述 1.增加了一条crontab,删除本月中2天以前的日志 10 02  * * * /bin/find /data/logs/php/$(date  +%Y%m)/ -mtime +2 | xargs rm -rf   可是看上面的crontab总是运行失败,然后查/var/log/cron 日志报 Jul 22 02:02:01  loc…

    2023年3月29日
    1.2K00
  • Excel表格怎么换行?Excel单元格内换行的方法

     相信很多小伙伴在日常的生活中或多或少都用到过Excel这款软件,而大部分小伙伴虽然知道这款软件但却不知道该如何去操作它,那么下面就有小编为大家带来Excel单元格内换行的方法,有需要的用户就一起来看看吧。   Excel单元格内换行的方法   1、在Excel表中开始菜单看到一个自动换行的标示,选择单元格然后点击自动换行就可以了。  2、换行模式开启后该单…

    2024年6月12日
    1.0K00
  • MySQL 用户管理和权限管理

    在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。无论如何,都需要创建多个用户来管理权限。root 是数据库的超级管理员用户,对于普通开发人员来说,权限太大了,如果不小心做了一些不可逆…

    2022年6月9日
    1.6K00
  • Nginx 的 ngx_stream_module模块安装后启动报错 unknown directive “stream”

    环境: nginx1.16 说明: 在安装好模块后,nginx.conf 中也配置了4层代理信息,可是启动后报错 报错内容:unknown directive “stream” 解决方法: 在 nginx 配置文件中 加上: load_module /home/webapp/nginx/modules/ngx_stream_modul…

    Linux系统 2023年2月3日
    1.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信