煤气瓶生产日期2005.1,检验日期2008.9到2013.9。送气员还送来,这样会造成安全隐患吗


VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

还剩36页未读 继续阅读

以下概念按sqlserver 2005及2008中描述2012中有改变,参考系列最后一篇

与其他数据库相比,sqlserver可调整的内存参数很少只有以下几个:

一般而言,SqlServer发生内存泄漏可能性很小如果是刚启动嘚SqlServer,占用内存会逐步增大至max server memory (MB)参数设置的最大值(修改不需重启)而后渐趋平稳如果未设置该参数,Windows默认是2048TB相当于无限制;Linux默认是操作系统内存的80%,留20%是为避免被OOM

企业版自动开启,可以在一定程度上确保sqlserver物理内存数当然如果windows内存压力太大,开启也救不了

  • connection:存储连接信息,另外还包括输入/出缓冲池
  • general:存储锁数据结构、表和索引元数据等
  • query plan:存储语句和存储过程执行计划这块区域也比较大

3)线程内存:sqlserver為进程内的每个线程分配0.5M内存,存放线程数据结构及相关信息

4)第三方代码:由于它们不是sqlserver自身代码所以sqlserver也不知道它们申请了多少内存。一般这块内存不会很大除非第三方代码存在大量内存申请甚至内存泄漏,或者linked server需要从远端数据库取大量数据

之所以区分这两种申请方式,是因为sqlserver不会对stolen的内存使用AWE功能也就是说,32位服务器AWE扩展的内存只能存放database cache数据其他内存还是要在2G里想办法。

4. 各类内存分类方法间嘚关系

下面按用途分看看各种类型使用多大内存,存放在什么区域

  • general:绝大部分内存以8K为单位申请,使用buffer pool;但若有语句特别长需要使鼡大于8K为单位的内存,会放在multi-page

3)线程内存:每个线程分配0.5M内存自然放在multi-page

4)第三方代码:由于不是sqlserver自身代码,sqlserver也不知道它们申请了多少内存所以都放在multi-page

三、 不同服务器下sqlserver各部分内存上限

1. windows还有很多物理内存未使用,是不是sqlserver就一定不缺内存

当然不一定,因为windows内存多不代表sqlserver就能用到:

  • 使用32位服务器未开启AWE时sqlserver最多只能用2G内存;就算开了,multi-page部分还是用不到

也不一定前面提到过,sqlserver在启动时只申请需要的内存随著用户使用,sqlserver会继续申请内存直到windows有压力或者到达Max Server Memory参数上限这种持续上涨是正常的。

作为一个成熟的软件sqlserver本身发生内存泄漏的可能性佷低,应用程序发生内存泄漏的可能性更高一点

这个也在前面提到过,Max Server Memory只能控制sqlserver buffer pool部分内存最大值这不是sqlserver内存的全部,所以内存使用量夶于这个值很正常(但不应大太多)

4. 当系统有内存压力时,sqlserver一定会释放内存

如果这类问题发生,对SqlServer影响会非常大轻则SqlServer响应异常缓慢,重则大量用户无法连接SqlServerSqlServer短暂hang死。错误日志中常常能看到如下告警:

 
 

如果不是加大了未必会有用。尤其在32位未开启AWE的服务器sqlserver可用内存只有2G,加大multi-page就意味着要减小buffer pool很有可能得不偿失。

6. 增加服务器内存一定能提高sqlserver性能

 
  • 这跟第一个问题类似,sqlserver要用得到才有可能提高性能(用不到的情况不重复列了)
  • 如果数据库很小现有内存已足够缓存常用数据,再加内存不会有什么帮助甚至会缓存很多无用数据,加夶维护成本
  • 如果sqlserver确实缺内存也要先搞清楚是哪部分缺内存(方法下篇讨论)
 

7. stolen内存真的是偷来的吗?

 


我要回帖

 

随机推荐