日期:2014-05-18  浏览次数:20487 次

sql内存使用问题
公司有台数据库服务器内存一直占用17g 但查看进程sqlserver才占不到1g 是独立的数据库服务器 没有其它程序运行 通过profile跟踪 统计出了执行最耗io 以及执行最频繁的sql 并且做了优化 但效果不是很明显 内存降到了近16g 怀疑是不是数据缓存和执行计划缓存占了太多内存 还有 服务器 是win2003 32位的 是不是跟这个有关系 因为sqlserver 进程才占不到1g 但内存使用是17g 公司服务器 是12核 16g的 求解决方法

------解决方案--------------------
查一查这17G都是什么进程在用着.
------解决方案--------------------
可能是SQL SERVER 占用的缓存吧,没关系的.
找个空闲时间,把MSSQL服务重启一下,如果是缓存的话,会掉下来的.
------解决方案--------------------
应该不会变慢吧.缓存是用来存储已编译的程序,下次再调用相同程序时会自动从缓存启动反而可能加快速度.
不过如果内存不够的话可能会有点影响.
------解决方案--------------------
是不是系统的进程占用了,显示所有用户进程看看
------解决方案--------------------
2005?
------解决方案--------------------
是不是数据库一直在进行大数据量的操作?
所有sql server操作总是先到系统内存的
------解决方案--------------------
2005默认的max server memory 是无限大,可以手动修改,修改后重启服务就行,不过如果没有特俗要求,最好不要修改
------解决方案--------------------
这种现象是正常的,因为windows 32位系统不能管理超4G的内存。超过部分是SQL自己管理的。也就是任务管理器不能看到 SQL自己管理的内存。