none
为什么我设置了max server memory为6800M之后,查看任务管理器,发现整个系统已经使用了7.8G了。 RRS feed

  • 问题

  • Windows 2003 R2 X64+SQL Server 2008 R2 X64 企业版

    为什么我设置了max server memory为6800M之后,查看任务管理器,发现整个系统已经使用了7.8G了。

    而且我看其他也没什么程序在运行了,这个服务器是数据库专有服务器。


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年6月1日 0:37

答案

  • 联机帮助上写的很清楚:

    作为进程的 SQL Server 将获取超过 max server memory 选项所指定的内存。内部和外部组件都可以分配缓冲池以外的内存,这将占用额外内存,但是分配给缓冲池的内存通常表示 SQL Server 占用的内存的最大部分。

    2011年6月1日 2:07
  • 至少要给操作系统留2G,就是说,SQL Server分配的内存不应大于6G。每个connection还需要消耗2M(X64)或4M(IA64)内存。

    对内存使用量的计算有点复杂,最简单的办法是测试。

    你先分5G,然后注意一段时间的cache hit ratio,小于98%就往上加,不要超过6G。


    想不想时已是想,不如不想都不想。
    2011年6月1日 2:34
    版主

全部回复

  • 联机帮助上写的很清楚:

    作为进程的 SQL Server 将获取超过 max server memory 选项所指定的内存。内部和外部组件都可以分配缓冲池以外的内存,这将占用额外内存,但是分配给缓冲池的内存通常表示 SQL Server 占用的内存的最大部分。

    2011年6月1日 2:07
  • 如果你说的整系统还包括任务管理器里面的物理内在使用记录的话,那么这个值还包含其他进程(比如操作系统本身)所战胜的内存
    2011年6月1日 2:10
  • 如果你说的整系统还包括任务管理器里面的物理内在使用记录的话,那么这个值还包含其他进程(比如操作系统本身)所战胜的内存

    我服务器总共是8G内存,那么我给SQLServer分配多少内存合适呢?
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年6月1日 2:12
  • 至少要给操作系统留2G,就是说,SQL Server分配的内存不应大于6G。每个connection还需要消耗2M(X64)或4M(IA64)内存。

    对内存使用量的计算有点复杂,最简单的办法是测试。

    你先分5G,然后注意一段时间的cache hit ratio,小于98%就往上加,不要超过6G。


    想不想时已是想,不如不想都不想。
    2011年6月1日 2:34
    版主
  • 一般来说,专用的数据库服务器的话,操作系统保留 2GB或者列多一点,如果有配置复制订阅(复制相关的代理有在这台服务器上的话),你的服务器的内存不大,根据内存使用情况取舍吧,彩楼上的尝试性处理方法 就好了

    2011年6月1日 2:46
  • 至少要给操作系统留2G,就是说,SQL Server分配的内存不应大于6G。每个connection还需要消耗2M(X64)或4M(IA64)内存。

    对内存使用量的计算有点复杂,最简单的办法是测试。

    你先分5G,然后注意一段时间的cache hit ratio,小于98%就往上加,不要超过6G。


    想不想时已是想,不如不想都不想。

    了解
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年6月1日 3:48