德州网络,资阳优化团队平台,设计工作室名字大全,永久开源的免费建站系统最近犯了一个大的错误#xff0c;总以为Windows2003 能够合理的使用多余的内存#xff0c;能够智能化处理内存#xff0c;事实非然。事情是这样的#xff0c;我有一台数据库服务器#xff0c;32位#xff0c;操作系统是Windows2003企业版#xff0c;4G内存#xff0c;3… 最近犯了一个大的错误总以为Windows2003 能够合理的使用多余的内存能够智能化处理内存事实非然。 事情是这样的我有一台数据库服务器32位操作系统是Windows2003企业版4G内存320G存储空间使用SQLSERVER2005 数据库管理系统里边有若干个数据库平时主要处理大量的业务外还设置了一些同步由于及时优化CPU 一直保持在5%以下各项主要指标观察下来一直正常如数据库的缓冲命中率保持在95%以上等所以平时就以默认安装的模式运行着本以为SQLSERVER2005能合理的分配内存至少比SQLSERVER2000有了很大的改进且操作系统也由Windows 2000Server更新为Windows 2003内存不足时无论是系统还是数据库本身都会自动调整内存Sqlserver2000需要手工调整可Google一下最近观察不管是什么时候内存使用都不超过2G且SQLSERVER2005占用1.7G的现象开始以为是数据数内存足够了也没有在意后来越想越觉得有问题当操作大表时数据库占用的内存都有任何改变于是Google一下才发现也需要手工调整当然是原因一大堆想想解释得也合理。于是也及时进行了调整效果还不错。 这里把调整的步骤讲给大家希望有同样问题的朋友参考参考 1打开操作系统启动时PAE 配置项 步骤找到系统安装的引导位置的目录下找到boot.ini文件默认是隐藏只读的找到 Windows2003 启动配置在后面加上空格 /PAE ,保存重启 示例所示 multi(0)disk(0)rdisk(0)partition(2)\%systemroot% Windows Server 2003 Datacenter Edition /PAE 2打开组策略添加数据库运行所依赖的帐号有权进行锁定内存大部分情况下数据库运行的帐号都是系统级的帐号如administrator 或者是 administrators组的帐号当然也有处于安全考虑的给了一个运行权限很小的帐号只能运行数据库所以必须授权该帐号具有锁定内存的权限 步骤开始-运行-gpedit.msc-组策略-计算机设置-windows配置-安全设置-本地策略-用户权限分配-锁定内存页-本地安全策略设置-添加-选择运行的帐号或者组 3重启服务器远程维护的要查看boot.ini是否正确切起切起否则后果可想而知 4配置数据库重启后操作系统已支持大内存了但数据库还是需要配置的默认都未配置执行以下命令即可 步骤打开查询分析器进行以下操作这里以3G内存给数据库使用为例进行操作这几条命令分别含义是打开高级选项打开锁定内存设置最大内存最好是一起完成 sp_configure show advanced options, 1 RECONFIGURE GO sp_configure awe enabled, 1 RECONFIGURE GO sp_configure max server memory, 3072 RECONFIGURE GO 5重启数据库当配置项手工配置好后需要重启数据库这时你就发现SQLSERVER2005数据库占用多大的内存了再看看数据库的属性也改变了AWE上打了勾最大内存改为3G了以前是很大的忽悠我^-^ 注意点 1当操作系统PAE未打开时配置数据库是没有用的数据库会提示出错告诉你内存锁定系统当前不支持 2Boot.ini 文件是隐藏的只读的先修改属性后再操作 3数据库重启前最好先备份防患于未然 4不知是操作系统问题还是盗版的问题我的SQLSERVER2005在进程任务管理器只有180M经过和朋友确认才知是显示错误其实也不知是错误还是就是这样的我想有一种可能那就是系统把3G划给数据库使用后自己只有1G他只知道自己分配的那一块给数据库系统180M吧 5数据库的内存设置有一个合理限度根据服务器业务多少确定但不能超过物理内存我觉得至少得留500M给系统吧另外如果系统中还有其他的服务在使用也要考虑进去否则系统内存不足引起磁盘页面交换频繁反而使性能有所下降。 转载于:https://blog.51cto.com/jiaozhi/566478