您的位置: 旅游网 > 网红

资深站长合理设置内存让数据库与其彵程序共

发布时间:2019-10-12 23:48:05

16:34 来源:ZOL :Googler【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 最新LOL活动

在SQL Server数据库中,有min server memory与max server memory两个内存选项。数据库管理员合理设置这两个选项可以让SQL SERVER数据库系统与其他英勇程序和平共存。顾名思义,min server memory就是设置数据系统所使用的最小内存,而max server memory用来设置其可以使用的最大内存。

一、SQL SERVER数据库的内存管理机制。

在数据库启动的时候,其实数据库引擎并不会马上在内存中抓取min参数规定的内存量。这种占着茅坑不拉屎的事情SQL Server数据库是不会做的。系统在刚开始启动的时候,数据库缓冲池只抓取初始化所需要的内存,如上图所示。数据库启动之后随着业务量的增大,数据库引擎的工作负荷也会随之增加。此时数据库引擎会继续获取完成工作所需要的内存。在达到min规定的内存数量之前,数据库引擎缓冲池是不会释放它获取的任何内存。如数据库初始化内存为20M,而规定的min内存数量为50M。则可能因为用户查询某个负责报表的需要,内存需要量会达到40M。查询作业执行完毕后数据库系统缓冲池实际使用的内存量可能只需要20M即可。但是只要没有达到50M这个值。则数据库系统不会把没有的20M内存还给操作系统,而是一直占用着,以方面后续的作业。

如果用存释放出来给其他应用程序使用。但是这个释放会有一个限制。数据库引擎缓冲池从不将内存分配降低到最小内存所指定的水平下。也就是说

,此时数据库最多会释放30M的内存,为自己留下50M的内存空间,即使当前其可能只需要用到40M内存空间即可。当然在抓取内存空间的时候,其也不会为自己分配高于MAX内存所规定的内存空间

二、内存参数配置对其他应用系统的影响。

在一台服务器上,往往多个应用程序需要共享内存。如可能在一台服务器上部署了多个应用系统,至少在一台服务器上操作系统与SQL Server数据库之间需要共存。为此SQL Server数据库可以使用多少的内存空间,肯定会对其他的应用程序产生比较大的影响。

如在一台服务器上部署了SQL Server数据库系统、邮件应用系统、ERP应用服务器等等三个应用系统

。如果先启动SQL Server数据库系统,后来又要启动邮件应用系统,此时邮件应用系统的启动速度就会受到影响。因为某些应用程序在初始化的过程中可能会需要用到比较大的内存空间。而在启动的过程中,可能数据库在使用的内存比较多,剩余的内存不能够满足其他应用程序启动的需要。此时其他应用程序在启动时就会等待,等待数据库应用程序释放内存。这就会延长其他应用程序的启动时间。

另外在执行某些工作的时候,也会影响到。如在同一个时间对数据库与邮箱服务器进行备份作业。由于备份作业需要用到比较多的内存,此时就会发生内存争用选项。为此如果能够把数据库的最低内存设置的比较低的话,则数据库系统在用完内存话就可以马上把内存释放出来,而不会为自己保留比较大的暂时不同的内存空间。同理,在保障业务需求的情况下把最大内存设置的比较小,则可以为其他应用程序留下比较多的内存空间。

1 2 下一页 查看全文

小程序开发需要什么
怎么在微信上卖东西
拼团免费小程序
猜你会喜欢的
猜你会喜欢的