none
启用了AWE的SQL Server进程正在使用的总内存如何查看? RRS feed

  • 问题

  • OS: Windows Server 2003 Ent. Eng. SP2 , 已加了/PAE参数启动
    SQL Server: SQL Server 2005 Ent. Eng SP2, 已启用AWE。
    想要查看SQL Server使用的总内存, 不清楚确切的是哪个值。

    任务管理器重显示的不正确;
    Permon的Process:Working set中值和任务管理器中接近,感觉也不对;
    Permon的SQL Server: Memory Manager中的Total Target Memory和Total Server Memory有点像,但在联机丛书描述中看起来也不是SQL Server正在使用的总内存。

    求解....
    2009年9月25日 8:34

答案

  • True, that's amount of buffer. Total memory used are buffer plus other parts for connection, lock and so. But buffer is biggest pool, so it's close to total memory used.  
    • 已标记为答案 Peter.Tang 2009年9月27日 10:12
    2009年9月26日 1:58

全部回复

  • 任务管理器看不出个啥,它显示sqlserver.exe进程占用内存50M时,实际占用了全部的8个G内存。

    反正所有的内存都要被它占用的,或者都要主动给它用的,看了有什么用?不看也罢
    hello
    2009年9月25日 9:58
  • 呵呵,只是想看看到底是多少,动态的变化是怎样的。

    附上自己理解的/PAE /3GB /AWE的作用。(32bit)
    /PAE    使OS识别3G以上的内存
    /3GB    默认情况下OS启动脚本中无/3GB参数,OS保留2G内存用于操作系统;加/3GB,则OS只保留1GB用于操作系统
    /AWE   支持<=64GB的内存扩展给用户进程使用,需要用户进程支持AWE。
    2009年9月25日 10:14
  • /pae - let os recognize memory above 4gb.
    /3gb - let user mode apps use 3gb base memory.

    Awe is not os related, set in sql instead of boot.ini file. Check memory usage in Permon -> SQL Server: Memory Manager -> Total Target Memory and Total Server Memory when awe enabled.
    2009年9月25日 13:13
  • 呵呵,只是想看看到底是多少,动态的变化是怎样的。

    附上自己理解的/PAE /3GB /AWE的作用。(32bit)
    /PAE    使OS识别3G以上的内存
    /3GB    默认情况下OS启动脚本中无/3GB参数,OS保留2G内存用于操作系统;加/3GB,则OS只保留1GB用于操作系统
    /AWE   支持<=64GB的内存扩展给用户进程使用,需要用户进程支持AWE。

    /3GB有一个要特别注意的,32位系统当物理内存超过16G(含)的时候,不要加/3GB
    服务器当前占用的动态内存总量:SQLServer:Memory Manager\Total Server Memory (KB)
    2009年9月25日 14:01
    版主
  • http://technet.microsoft.com/zh-cn/library/ms190924.aspx
    这里头说SQLServer:Memory Manager\Total Server Memory (KB)注意:这不是 SQL Server 使用的总内存。
    2009年9月26日 0:49
  • True, that's amount of buffer. Total memory used are buffer plus other parts for connection, lock and so. But buffer is biggest pool, so it's close to total memory used.  
    • 已标记为答案 Peter.Tang 2009年9月27日 10:12
    2009年9月26日 1:58
  • True, that's amount of buffer. Total memory used are buffer plus other parts for connection, lock and so. But buffer is biggest pool, so it's close to total memory used.  

    Thanks a lot, I got it.
    By the way, do you have any article for taking reference?
    Other question, is the value equal or close to a value in DBCC MemoryStatus? If it is, which one is it?
    2009年9月26日 3:52
  • /3GB 只适用于 4GB的物理内存, >4的, 应该PAE
    64位系统不需要做这些设置
    2009年9月26日 3:53
  • /3GB 只适用于 4GB的物理内存, >4的, 应该PAE
    64位系统不需要做这些设置

    http://technet.microsoft.com/zh-cn/library/ms189334.aspx来看,/3GB不止适应于4GB的物理内存呢。

    我的理解是,它只是个开关。
    开了/3GB,则OS内核模式地址空间只保留1GB
    不开/3GB,则OS内核模式地址空间为默认的2GB
    2009年9月26日 4:48
  • Don't use /3gb if server has 16gb memory or more like Jerrynet said since os needs 2gb memory to handle additional addresses.
    2009年9月26日 20:57
  • True, that's amount of buffer. Total memory used are buffer plus other parts for connection, lock and so. But buffer is biggest pool, so it's close to total memory used.  

    Thanks a lot, I got it.
    By the way, do you have any article for taking reference?
    Other question, is the value equal or close to a value in DBCC MemoryStatus? If it is, which one is it?
    Which value? Total Target Memory is max memory you set in sql, but it may not use that much when you run dbcc.
    2009年9月26日 21:06
  • 还有人有何见解么?
    有人有一些详细的有关DBCC MemoryStatus的介绍文档么?
    或者是SQL Sever的类似Oracle架构的图和文章?

    2009年9月27日 3:20
  • 感谢大大们的回复哈~
    怎么没人帖些微软内部的资料看看呢...

    2009年9月27日 10:14
  • Knowledge base articles are from Microsoft.
    2009年9月27日 18:31
  •  内存<4GGB时: /3GB
    4GB<内存<16GB:/PAE/3GB
    >16GB:/PE.
    这样就可以实现32操作系统数据库识别更多的内存。必须启用数据库的AWE才有效
    2009年11月26日 1:23
  • Enable awe only if server has more than 4gb memory.
    2009年11月26日 2:27