Blog of Khlebalin Dmitriy

(Записки из мира IT…)

Оперативная память Exchange 2010.


snap1

Порой удивляюсь,

почему Microsoft Exchange 2010 выжирает всю память и иногда даже зависает сам сервер и попытка соединиться к нему любыми средствами не проходит.  Это объясняется тем что операционной системе не хватает памяти на простейшие операции, она даже не может обработать запрос на подключение поRDP.  Что же делать чтобы память не расходовалась?  То, что память полностью забирается службой почтовика — это нормально!

Так и должно быть. Идея Microsoft была в следующем — Exchange забирает память по себя и если необходимо, отдает ее другим службам и приложениям, а сама эта память выделяется для создания КЭШа для дисковой подсистемы базы данных. Но по факту так не получается, иногда почтовик забывает отдать память даже самой ОС Windows Server (патчи, роллапы продолжают выходить, но ошибку по прежнему не исправили, может в Exchange 2013 такой проблемы уже нет, но я пока не знаком с ним детально) .

В нашем случае почтовик на 200 ящиков выглядит так, при том сколько памяти не дай, «откусит» почти всю

snap4

snap5

Ниже представлена таблица размеров кэша по умолчанию. Но как и говорилось выше, Exchange иногда перестает следовать этой таблице и забирает память и порой полностью зависает.

(Exchange 2010 Limiting Database Cache)

Физическая память на сервере (ОЗУ)

Размер кэша базы данных (только Mailbox)

Размер кэша базы данных (с несколькими ролями)

2GB

512 MB

Not supported

4GB

1 GB

Not supported

8GB

3.6 GB

2 GB

16GB

10.4 GB

8 GB

24GB

17.6 GB

14 GB

32GB

24.4 GB

20 GB

48GB

39.2 GB

32 GB

64GB

53.6 GB

44 GB

96GB

82.4 GB

68 GB

128GB

111.2 GB

92 GB

Решение:

  1. Для того, чтобы память не сжиралась, нам необходимо ограничить размер выделяемой памяти для Exchange.  Чтобы это сделать нам необходимо сначала высчитать количество памяти в зависимости от размера установленной памяти. Например,  если вы хотите ограничить выделение памяти до 10 ГБ , то переводим 10 ГБ в килобайты- получается 10 485 769 и делим на 32, получается цифра 327680.
  2. Далее нам необходимо набить это значение в атрибут Active Directory, который отвечает за размер выделяемой памяти.  Для этого запускаем AdsiEdit. Переходим в каталог конфигурация\services\Microsoft Exchange\ваша_группа\administrative Groups\Servers\ 
  3. Заходим в контейнер с сервером, заходим в свойства information store.

snap2snap3

4. Находим атрибут msExchESEparamCacheSizeMax и вписываем в него наше значение.

5. Перезагружаем сервер или службу Microsoft Exchange Information Store для применения.  Все! Теперь Exchange не будет жрать память больше 10 ГБ.

Всем хорошей работы !!!

Реклама

19.06.2014 - Posted by | ms exchange 2010

Sorry, the comment form is closed at this time.

%d такие блоггеры, как: