none
EXCHANGE 2007 內存問題 RRS feed

  • 問題

  •  

    你好﹗

    EX2007 現有40多個用戶,內存有8G,但經常超出8G,昨日加到16G內存,今日已使用超16G,請問是什麼問題?

    請幫忙

    Jacky

    2008年5月5日 上午 09:56

解答

  • 您好!

     

    感谢您的回复!

     

    根据您的截图和日志信息,这种现象是正常的。下面我解释一下其中的原因,在Exchange 2003中,store.exe进程使用的内存被限制在某个特定的值。在默认情况下,该值为900MB左右。

     

    Exchange 2007中,由于硬件基于64位,对数据库缓存大小的限制已经不存在了,因此store.exe 进程将不在被限制在900MB。当前,Exchange 2007默认的最小的缓存值为512MB(计算机必须至少有2G的内存),并且没有最大值的限制,也就是说,ESE (store.exe)将增加该缓存值来消耗掉服务器上所有几乎可用的内存,在系统没有内存压力的情况下,这将大大地增加数据库缓存大小,并显著地减少磁盘I/O,并且数据库缓存是首先的,因为从内存中读取信息比从磁盘中要快的多,如果内存压力出现,当其他应用程序请求内存,ESE将自动缩小它的数据库缓存值。

     

    例如,如果服务器有16G的物理内存,如果没有其他内存压力的话,store.exe 将使用14GB的内存(其中有2GB分配给Kernel mode

     

    谢谢!

     

    Rock Wang 望正茂

     

    2008年5月7日 上午 06:19
    版主

所有回覆

  • 您好!

     

    为了更好地分析您的问题,我想跟您确认下面这些信息:

     

    1、 您是通过什么工具查看到内存使用超过16G,请将具体的截图发送到我的邮箱:v-rocwan@microsoft.com

    2、 请在Exchange 2007服务器上运行EXBPA工具,将生成的报告另存为.xml文件,然后作为附件发送到我的邮箱。

     

    Rock Wang 

     

     

    2008年5月6日 上午 02:00
    版主
  •  

    已發﹗

     

    Best Reg.

    Jacky

    2008年5月6日 上午 03:37
  • Hello Jacky,

     

    Although i haven't read your log or reports, however, it seems very normal to me that your Exchange is 'eating' up your memory.

    This is actually by-design from Exchange 2000's ESE engine (store.exe). The ESE engine will utilize your system memory dynamically based on the phsyical memory installed. In very typical situation, i've seen a 14G size being utilized by the store.exe on a 16G box. Generally, database cache typically results in reduced disk I/O, however, if your store.exe is not utilizing the memory as you wish, you can change its behaviour by playing with the ADSIEDIT tool.

     

    Generally, open up your adsiedit, and navigate to Configuration > Services > Microsoft Exchange > Exchange organization > AdministrativeGroups > Your administrative group > Servers > Server name > Information Store.

    Right-click Informatio Store and select Properties.

    Scroll and locate the msExchESEParamCacheSizeMax.

    if you want to hard limit the store.exe process to only reserve up to 10G of size, do the following calculation:

    (1024*10*1024) / 8 = 1310720

    say, if you want to limit down to 14G, then..

    (1024*14*1024) / 8 = 1835008

     

    last, please ensure your result is an exact multiple of 8192 for maximum efficiency, if not, the server won't crash, but partial memory will be wasted.

     

    do a quick search for msExchESEParamCacheSizeMax on live.com and you'll find many practical examples.

     

    Its that easy!

    Howard Chow.

    2008年5月7日 上午 04:44
  • 您好!

     

    感谢您的回复!

     

    根据您的截图和日志信息,这种现象是正常的。下面我解释一下其中的原因,在Exchange 2003中,store.exe进程使用的内存被限制在某个特定的值。在默认情况下,该值为900MB左右。

     

    Exchange 2007中,由于硬件基于64位,对数据库缓存大小的限制已经不存在了,因此store.exe 进程将不在被限制在900MB。当前,Exchange 2007默认的最小的缓存值为512MB(计算机必须至少有2G的内存),并且没有最大值的限制,也就是说,ESE (store.exe)将增加该缓存值来消耗掉服务器上所有几乎可用的内存,在系统没有内存压力的情况下,这将大大地增加数据库缓存大小,并显著地减少磁盘I/O,并且数据库缓存是首先的,因为从内存中读取信息比从磁盘中要快的多,如果内存压力出现,当其他应用程序请求内存,ESE将自动缩小它的数据库缓存值。

     

    例如,如果服务器有16G的物理内存,如果没有其他内存压力的话,store.exe 将使用14GB的内存(其中有2GB分配给Kernel mode

     

    谢谢!

     

    Rock Wang 望正茂

     

    2008年5月7日 上午 06:19
    版主