专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » SQL服务器内存有两种基本管理思路方法:动态分配 »正文

SQL服务器内存有两种基本管理思路方法:动态分配

来源: 发布时间:星期五, 2008年12月19日 浏览:2次 评论:0
="t18">SQL服务器内存有两种基本管理思路方法:动态分配和静态分配

控制可使用内存数量动态分配允许管理员声明块内存大小;考虑到它实际使用SQL服务器可以分配给其需要占用内存最大值并且(理论上)在没有使用内存情况下将其释放静态分配则是创建块固定内存空间提供给SQL Server使用——不再进行分配
  
  在默认情况下SQL Server被设置成动态分配分配给其正在运行计算机内所有可用物理内存许多管理员注意到SQL Server内存随时间流逝被逐渐消耗殆尽时其原因很可能是故障或是内存漏洞但这个正是被设计成这样SQL Server就是要在任何可能情况下在电脑中运行并因此为达到其最佳性能而使用所有可用内存如果SQL Server在独立机器中运行那么就让它分配和释放其需要内存吧
  
  在个小型商业服务器机器中SQL可能和其他如IIS同时运行管理员或许尝试着进行设置使SQL Server运行在块固定大小内存是控制其不会占用用于共享内存但这并不定能如愿以偿方面将内存最高限度设置得太低并且没有分配给SQL服务器足够可用内存来用作类似事务日志或查询执行缓存Cache所有这些都很难办到使SQL服务器得到执行操作所需内存思路方法就是换出其他页面这是个缓慢过程
  
  有许多思路方法可以计算出最好内存分配如果你有可预知用户负载依照用户所需最大数目分配给他们微软推荐至少用4 MB用作动态最大空间这已经成为个可能规则如果你用户负载变化范围很大——如以下情况当你通过IIS 前端连接到公共因特网来支持你数据库服务时候——实时统计数据将会比仅凭猜测所作工作帮助更大在高峰期把SQL Server高速缓存Cache命中率和每秒缺页率等性能数字搜集起来如果这些数据表明SQL Server正在做大量交换那么增加最大内存空间直到交换逐渐减少每秒次或更多次交换是有坏处
  
  另种选择是使“为SQL Server预留物理内存”选项可用这可以防止SQL Server把已经分配给它内存换出即使当其他应用能够使用它时这可以叫做是把双刃剑:它既可以相当大程度提高性能也可能带来更大性能损害在有许多RAM 可以共享(1 GB 或更多)系统中这是值得但是当有其他关键进程可能突然需要大量内存时这种办法是不应该使用(并且如果需要SQL Server可能会被迫放弃些它自己内存)如果SQL Server是在独立机器上运行用这种办法最佳化性能则是值得

标签:

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: