前言:
如今朋友们对“怎么看服务器内存使用情况”都比较讲究,兄弟们都需要了解一些“怎么看服务器内存使用情况”的相关资讯。那么小编在网摘上收集了一些关于“怎么看服务器内存使用情况””的相关文章,希望你们能喜欢,咱们快快来学习一下吧!最近帮客户部署了一套监控系统,有几台服务器不定时报内存使用率96%以上。
登录到服务器中,查看内存使用情况,sql server内存占用了太多内存了。
先简单说一下SQL server的内存管理机制,SQL Server 数据库的内存使用原则是按需分配,且贪婪(用完不还)。它不会自动释放内存,因此执行结果集大的sql语句时,数据取出后,会一直占用内存,直到占满机器内存(并不会撑满,还是有个最大限制,比机器内存稍小),在重启服务前,sqlserver不会释放该内存,也没有任何办法可人为释放。
原因是它的存储引擎本身是一个Windows下的进程,所以在使用内存时和其它Windows进程是一样的,都要向Windows申请内存,申请到内存之后,SQL Server的内存使用可以粗略地分为两个部分:一是缓冲池内存,被数据页和空闲页占用;二是非缓冲内存,被线程、DLL、链接服务器等占用。
那怎么解决呢?最直接的办法是:人为修改最大可占用物理内存进行限制。
那么将sql server占用内存控制在80%较为合理。为什么要控制sql server占用内在80%较为合理,因为sql server占用内存的主要原因是缓存,只有合理最大化的利用内存缓存数据才能提高访问速度。而服务器本身还需要一定的内存远行,所以只需要预留20%的内存给服务器使用足够,这样就留有最大化的内存给sql server使用。当然,这个不是标准值,还要根据服务器的负载情况来判定,如果设置80%还是服务器内存使用率比较高,可以再调低些。
操作步骤:
管理员用户登录数据库客户端(Microsoft SQL Server Management Studio),在实例名(树形菜单根节点,显示登录名那栏)上右键,选择属性-->内存,设置“最大服务器内存”,单位为MB,可根据实际内存调整。
确定后,内存会慢慢降下来了。
标签: #怎么看服务器内存使用情况