16.09.2011, 10:28 | #1 |
NavAx
|
DAX 4.0 AOS и память
Здравствуйте.
Прямо какая то беда с AOSами: три AOSа в кластере, на каждом сервере (Windows server 2008 R2 Enterprise, 64 разрядный) по 6 Гб ОЗУ. Память после перезапуска всех AOSов заполняется, причем на каждом AOSе по разному. За неделю работы без перезапуска все заполняются выше 5.2 Гб (у процесса AOS ~ 3.3 Гб, остальное - кеш), начинают выкидывать сессии из аксапты, учащаются ошибки с кодом 110 и 117. DAX 4.0 SP1, HF 454. Пользователей более 150. Прошу подсказать что делать, куда рыть, быть может у кого встречалось. ЗЫ. По форуму поиск похожих тем делал, темы читал. Ответа на вопрос не нашел. Спасибо. |
|
16.09.2011, 10:43 | #2 |
Сам.AX
|
У нас такая же проблема. Сейчас более менее медленно отжирается, раньше за день один AOS мог ~3 Гб съесть.
Общались со своими "внедрятелями", они с поддержкой, в итоге озвучили два варианта решения: 1. Обновить/обновлять build'ы AOS'ов. 2. Снести к чертям настройки пользователей (таблица SysLastValue) и настроить заново вручную.
__________________
ѣ |
|
16.09.2011, 10:47 | #3 |
Ищущий знания...
|
Явно происходит утечка памяти. Причины утечки могут быть разные (ядро, вредносный код при локализации, вредоносный код написанный уже в прцессе работы).
Поанализируйте функции которые у вас выполняются регулярно в пакетах, может быть причина в них. Вообще практикуется перезапуск АОСов каждую ночь (на предыдущих двух местах работы так делали, проблем не было).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
16.09.2011, 10:47 | #4 |
NavAx
|
Цитата:
Сообщение от maximka
У нас такая же проблема. Сейчас более менее медленно отжирается, раньше за день один AOS мог ~3 Гб съесть.
Общались со своими "внедрятелями", они с поддержкой, в итоге озвучили два варианта решения: 1. Обновить/обновлять build'ы AOS'ов. 2. Снести к чертям настройки пользователей (таблица SysLastValue) и настроить заново вручную. |
|
16.09.2011, 10:49 | #5 |
NavAx
|
Странно, что даже когда нагрузки нет на AOSы (ночью например), память не освобождается.
|
|
16.09.2011, 11:20 | #6 |
Сам.AX
|
SysLastValue не чистили, потому как сомнительно и масштабно. А вот обновление ядра немного улучшило ситуацию.
__________________
ѣ |
|
16.09.2011, 15:25 | #7 |
MS Dynamics AX 2012 R3
|
Почистите SYSSERVERSESSIONS, думаю тоже должно улучшить ситуацию.
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов |
|
16.09.2011, 17:50 | #8 |
Участник
|
|
|
16.09.2011, 18:00 | #9 |
Участник
|
|
|
16.09.2011, 18:32 | #10 |
MS Dynamics AX 2012 R3
|
Цитата:
А так она ни чего не портит.
__________________
"Человек человеку волк, а зомби зомби зомби." (с) С Уважением, Алексей Кабанов |
|
11.11.2011, 14:42 | #11 |
NavAx
|
Провел эксперимент: в классе, исполняемом на сервере, в цикле (десятки тысяч итераций) заполнял map(Types::Integer, Types::String) одной и той же строкой, наблюдал за тем, как растет память, забираемая AOSом. Во время работы цикла память росла (с 20 Мб выросла до 260). Закрыл клиента, память осталась, при новом запуске продолжила расти. Помог только перезапуск AOSа. Сервис пак установлен последний и на клиенте и на AOSе.
|
|
11.11.2011, 15:03 | #12 |
Участник
|
была подобная проблема и как раз с 2008 R2 x64, после долгого общения с MS решили регулярно перезагружать аос
|
|
14.11.2011, 16:55 | #13 |
Участник
|
протестировал на 2003 R2 - проблема не наблюдается
если мне не изменяет склероз мы отказались от 2008го именно из-за нестабильности аосов на нем |
|
21.03.2012, 14:35 | #14 |
Участник
|
Похожая проблема с утечкой памяти (AX 2009 RU7), только не на сервере AOS, а на сервере бд:
- Windows server 2008 R2 Enterprise sp1 - MS SQL Server 10.0.5500 (SQL Server 2008 Service Pack 3) База занимает всего - 45 ГБ. SQL сервер бесконечно съедает память (все 30 ГБ, которые есть на сервере) и не высвобождает ее (хотя, ночью система не работает). Приложение близко к стандартному, каких-то глобальных изменений нет. Есть единственное "НО": сервера аоса и бд находятся в виртуальной среде VMware. Можно ли вообще сервера под AX 2009 виртуализовывать? и не терять при этом в быстродействии. |
|
21.03.2012, 15:14 | #15 |
Moderator
|
На моей памяти, все версии SQL Server (начиная с 7.0) захватывали память гораздо более охотно, чем отдавали ее назад в операционку. И для того чтобы сервер начал память отдавать, нужно гораздо больше времени чем одна "ночь когда система не работает". В общем-то логика в этом есть: Нагрузка на сервер БД обычно более или менее равномерна (ну то есть - флуктуации на проценты, а не на порядки). Если память захватили - зачем ее отдавать - все равно скоро снова понадобится.
В общем: 1. 99% что это никак не связано с виртуализацией 2. Если вам нехватает памяти под что-то другое (хотя вообще-то нехорошо SQL Server совмещать с чем-то другим), попробуйте ему ограничить максимальный размер используемой памяти в конфигурации. |
|
23.03.2012, 02:45 | #16 |
Участник
|
А зачем у вас сервер 64-бит? Ах 4 все равно же работает в 32-бит среде...
По поводу выпадений: когда у нас была Ах 4 sp2 на 2-х АОСах win2003 в кластере, регулярные выпадения наблюдались при достижении 2Гб памяти процесса (всего на серверах по 4Гб). Пользователей по 75 на АОС. Установка последних хотфиксов не помогала, перезагрузки раз в день спасали, но тоже не всегда. Причину установить удалось очень приблизительно - утечки памяти в нестандартном модуле, написанным до нас другой компанией-внедренцем. После добавления 3-го АОСа и выведения всех пользователей этого модуля на него остальные АОСы выпадать стали гораздо меньше (соотношение пользователей 60-60-20). Другое предположение - слишком много пользователей При 50 и меньше на АОС - падает гораздо реже. После перехода на Ах2009 перевели все под виртуальные сервера 2008 R2. Конфигурация 3 АОСа сохранилась. Быстродействие упало незначительно - пользователи не жалуются Несколько раз наблюдались выпадения АОСов при захвате памяти 16Гб, но не настолько часто как было раньше. А SQL Server захватывает память согласной настройкам - если установлен потолок 30Гб, значит 30 и съест Вроде бы у него свой менеджер памяти и имеет больший приоритет по сравнению с другими процессами - если нагрузка большая, все остальные уйдут в своп. И это не утечки, а штатный режим работы Выход - поставить в настройках ограничение по памяти так, чтоб хватило ОС и другим процессам на сервере. Имхо, при размере БД 45Гб ему вполне хватит 24Гб и даже с головой - часто используемые таблицы полностью закэширует) |
|
16.05.2012, 12:10 | #17 |
Участник
|
Цитата:
Сообщение от vanokh
А SQL Server захватывает память согласной настройкам - если установлен потолок 30Гб, значит 30 и съест Вроде бы у него свой менеджер памяти и имеет больший приоритет по сравнению с другими процессами - если нагрузка большая, все остальные уйдут в своп. И это не утечки, а штатный режим работы Выход - поставить в настройках ограничение по памяти так, чтоб хватило ОС и другим процессам на сервере. Имхо, при размере БД 45Гб ему вполне хватит 24Гб и даже с головой - часто используемые таблицы полностью закэширует)
Пока временное решение - перезагрузка раз в неделю SQL сервера. (примерно за неделю sql забирает память). |
|
10.12.2013, 16:35 | #18 |
Участник
|
Цитата:
Сообщение от vanokh
А зачем у вас сервер 64-бит? Ах 4 все равно же работает в 32-бит среде...
По поводу выпадений: когда у нас была Ах 4 sp2 на 2-х АОСах win2003 в кластере, регулярные выпадения наблюдались при достижении 2Гб памяти процесса (всего на серверах по 4Гб). Пользователей по 75 на АОС. Установка последних хотфиксов не помогала, перезагрузки раз в день спасали, но тоже не всегда. Причину установить удалось очень приблизительно - утечки памяти в нестандартном модуле, написанным до нас другой компанией-внедренцем. После добавления 3-го АОСа и выведения всех пользователей этого модуля на него остальные АОСы выпадать стали гораздо меньше (соотношение пользователей 60-60-20). Другое предположение - слишком много пользователей При 50 и меньше на АОС - падает гораздо реже. После перехода на Ах2009 перевели все под виртуальные сервера 2008 R2. Конфигурация 3 АОСа сохранилась. Быстродействие упало незначительно - пользователи не жалуются Несколько раз наблюдались выпадения АОСов при захвате памяти 16Гб, но не настолько часто как было раньше. А SQL Server захватывает память согласной настройкам - если установлен потолок 30Гб, значит 30 и съест Вроде бы у него свой менеджер памяти и имеет больший приоритет по сравнению с другими процессами - если нагрузка большая, все остальные уйдут в своп. И это не утечки, а штатный режим работы Выход - поставить в настройках ограничение по памяти так, чтоб хватило ОС и другим процессам на сервере. Имхо, при размере БД 45Гб ему вполне хватит 24Гб и даже с головой - часто используемые таблицы полностью закэширует) |
|
11.12.2013, 11:06 | #19 |
Читатель
|
Все верно, он уходит в своп. Вообще, нехорошо ставить на одном сервере с SQL какие-либо другие сервисы.
|
|
Теги |
aos, ax4.0, windows server 2008, память, утечка памяти |
|
Похожие темы | ||||
Тема | Ответов | |||
Падает AOS MS DAX 2009 SP1 RU6 | 21 | |||
Проблема падает AOS DAX 4.0 | 9 | |||
AOS не ест память и проц | 3 | |||
Arijit Basu: AX 4 AOS Basics: [Level 100] | 0 | |||
Еще раз про AOS и память | 3 |
|