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

相关推荐

  • Redis数据备份与恢复

    一、备份 1、cmd命令下,找到redis安装目录 2、创建dump.rdb文件 该命令将在 redis 备份目录中创建dump.rdb文件。 3、查看备份路径 备份后的文件名:dump.rdb 二、恢复 1、将dump.rdb拷贝到目标机,备份文件的目录下 2、重启redis服务 3、打开客户端刷新就能看到新的数据了 PS: 如果电脑安装了两个redis客…

    2022年11月12日
    6200
  • Nginx常见502错误提示原因和解决方法

    常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少。 针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服…

    2022年6月21日
    16700
  • Windows下编译部署PHP

    1. 下载并解压PHP 下载地址:PHP:Download,找到Windows系统的安装包 2. 修改php配置文件 复制php.ini-development,改名为php.ini 修改扩展文件的路径,并取消注释 extension_dir=”php解压地址/ext” 修改需要加载的扩展文件,即将相应dll语句前的分号”;”删除 修改时区 搜索date.t…

    2022年6月8日
    27800
  • kubernetes环境从docker迁移到containerd

    1.实验环境 本实验共两台节点,k8s-master01是master,k8s-master01是worker kubernetes版本是v1.23.2 系统版本是 centos7.4 [root@k8s-master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master01 Rea…

    Linux系统 2023年1月20日
    2200
  • NtLmSsp攻击的解决办法

    问题描述 服务器无法连接或者服务器经常自动重启 问题排查 查看系统日志,在安全类目发现大量的登录审核失败的记录。 解决方法 进行NTLM策略控制,彻底阻止NTLM响应 修改以下2个设置: 网络安全:Lan管理器身份验证级别:仅发送 NTLMv2 响应/拒绝 LM 和 NTLM 网络安全:限制NTLM:传入NTLM流量 修改成拒绝所有账户

    2022年9月3日
    43300

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信