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 2022声音驱动安装完,但是声音用不了

    win + r services msc 找到 Windows Audio Windows Audio Endpoint Builder 启用并改为自动

    2023年6月25日
    2.4K00
  • OpenWrt实现远程唤醒本地电脑

    简介 Wake-on-LAN 也叫 WoL,指通过网络消息打开或唤醒计算机。 网络唤醒功能在远程办公环境下显得十分必要,比如位于家中或公司的计算机,出于经济和环保的目的,不使用时一般也会进入低功耗状态,睡眠、休眠甚至是关机。一旦进入低功耗状态,就需要适当的外部刺激才能让其重新恢复至工作模式。 这时借助 WoL 通过特定网络信号进行「唤醒」…

    2024年5月24日
    1.7K00
  • Linux 从 lsof 开始,深入理解 Linux 虚拟文件系统!

    背景 有时会出现这样的情况,磁盘空间显示已经被占满,但是在查看磁盘的具体文件占用情况时,发现磁盘仍然有很大的空余空间。 1. 执行df命令查看磁盘使用情况,发现磁盘已经满了。 2. 执行du命令查看各个目录的磁盘占用情况,把各个目录文件的大小相加,发现并没有占满磁盘,有10多G空间莫名失踪。 3. 为何会出现这样的情况呢? 因为虽然文件已被删除,但是一些进程…

    2024年2月20日
    1.4K00
  • Centos在dracut模式下如何修改系统配置文件

    1、进入dracut原因 Centos系统进入dracut的原因有很多比如:系统重要文件丢失系统配置文件配置错误等 2、恢复系统文件 2.1、dracut环境 在dracut上下文中是无法看到Centos系统文件的dracut# 2.2、找到系统盘 Centos默认安装时,系统盘是一个lv设备 如果安装时,手动修改了分区,那么可以根据实际情况找到系统设备比如…

    2023年6月12日
    1.7K00
  • Linux缓冲区的理解

    一、FIFE 可以看到对过程重定向后结果发生了改变,C接口的函数printf,fprintf,fputs都被打印了两次;而系统接口write前后只被打印了一次,为什么呢?肯定和fork有关! fork会创建子进程。在创建子进程的时候,数据会被处理成两份,父子进程发生写时拷贝,我们进行printf调用数据的时候,数据写到显示器外设上,就不属于父进程了,数据没被…

    2023年4月10日
    1.3K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信