sql server 阻塞进程怎么解决
发布网友
发布时间:2022-05-03 16:19
我来回答
共2个回答
热心网友
时间:2022-05-03 17:48
SQL Server 的内存管理机制是:
有可用内存, 则为新需求分配内存
无可用内存时, 释放内存来处理新需求.
这是SQL Server 缓冲池的预期行为。
默认情况下,在启动 SQL Server之后,SQL Server会根据操作系统报告的物理内存数来动态增大或缩小高速缓冲存储器的容量。
只要可用物理内存大小保持在4MB到10MB之间,SQL Server 缓冲池就会继续增大(保留可用物理内存在4MB到10MB之间是为了
避免操作系统因为缺少内存而频繁地换页)。如果物理可用内存变得较少的时候,则SQL Server会将一些内存释放给操作系统。
解决方案:
1.给操作系统、sql server打最新补丁
2.确保不是病毒原因(可能性比较小)
3.sql server设计时的要求就是最大可能的减少磁盘的I/O,磁盘I/O是比较消耗资源的,这个磁盘I/O包括了读取数据库文件
还有和虚拟内存的页交换。如果还有足够的可用内存它都会毫不吝啬的使用的(没有设置上限),它会根据需要动态获取和
释放内存的。你要分析的是这占用的内存开销主要用做了什么?是不是有大型的查询或事务操作。
4.如果服务器是专职的数据库服务器,不建议设置最大内存上限。如果还有其它重要的服务在机器上运行,就要考虑它的内存
使用是否会影响其它服务的正常的运行和性能。如果你的服务器除了sql服务, 还有其他服务需求, 则需要设置sql server的最大内存*