Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
maxythewolf
Member

Откуда: (Ере)ваново, 37
Сообщений: 243
Доброго.
Стал постоянно вылетать сервер после переезда на новый сервер: 2008r2 x64 on 2008 windows x64->
Microsoft SQL Server 2012 - 11.0.5569.0 (X64) on Windows NT 6.3 <X64>
В логе сначала идет FAIL_PAGE_ALLOCATION 1 потом дамп памяти и куча
There is insufficient system memory in resource pool 'internal'

Сервер Xeon 24 ядра в итоге, 16гб озу, 2 рейда 10ки+ рейд ссд
Базы мелкие, самая большая 30Гб
Репликация есть (новый сервер дистрибутор, подписчики ms sql)
Полнотекстовый поиск есть, каталог кидал и на ссд и на 10ку - одинаково
Линкованные сервера и запросы к ним есть (ms sql)

Отдано min=max server memory=12Гб
Подозрения два:
1) в дампе при вылете всегда высокое значение MEMORYCLERK_FULLTEXT - две ноды по 5 млн страниц
2) MEMORYCLERK_SQLCLR в обычном состоянии кажет, что virtual_memory_reserved_kb = 9ГБ, хотя
CLR в конфиге выключен и ничего clr-ного не используется

Кто-то сталкивался с похожим? Кроме как оперативки добавить, соображения есть?
Старый сервер на 2008r2 справлялся с 12Гб
2 июл 15, 14:57    [17843915]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
24 ядра, и 16 гб?
Не стыдно?
2 июл 15, 22:59    [17846206]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
А старый сервер, "с теми же настройками" - тоже был на 24 ядра?
И что, у него каждое ядро кушало меньше?
2 июл 15, 23:01    [17846213]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
...короче, у вас облажались интеграторы.
Того, кто такую спецификацию сервера нарисовал - надо увольнять.
Без вопросов.
2 июл 15, 23:06    [17846236]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
...боюсь спросить...
24 ядра - это как бы Xeon E5? Да?
а 16 гига мозгов - это 4 планки по 4? да?
Ну, у Е5 4-х канальная архитектура же...

или они в 4 канала пихнули 2х8?
Или 1х16, но очень мудро, (хе-хе, знал я таких), registered...
2 июл 15, 23:11    [17846256]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
maxythewolf
Member

Откуда: (Ере)ваново, 37
Сообщений: 243
Сервак арендовали где-то в ДЦ для клиентов...
24 ядра - это 2 Xeon 2620 E5 по 12 ядер.
2 плашки по 8гб ECC
Короче, слепили из того что было, кинули мне квмку, сказали, поехали, и махнули рукой.

Старая конфа похожей была по кривизне, 2 Xeon вроде 16 ядер, 12Гб, но таких просадок не было
2 июл 15, 23:37    [17846378]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
maxythewolf
Сервак арендовали где-то в ДЦ для клиентов...
24 ядра - это 2 Xeon 2620 E5 по 12 ядер.
2 плашки по 8гб ECC
Короче, слепили из того что было, кинули мне квмку, сказали, поехали, и махнули рукой.

Старая конфа похожей была по кривизне, 2 Xeon вроде 16 ядер, 12Гб, но таких просадок не было
2 плашки на Xeon Е5...
Таких интеграторов надо не увольнять, а об стену убивать.
Удивительное дело!!!
И эти люди зарплату где-то получают?

Короче, клиенту нужны 4 плашки по 16 ECC registered.
тут уж никуда.
Просрал интегратор конфигурацию.
2 июл 15, 23:47    [17846407]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Makar4ik
maxythewolf
Сервак арендовали где-то в ДЦ для клиентов...
24 ядра - это 2 Xeon 2620 E5 по 12 ядер.
2 плашки по 8гб ECC
Короче, слепили из того что было, кинули мне квмку, сказали, поехали, и махнули рукой.

Старая конфа похожей была по кривизне, 2 Xeon вроде 16 ядер, 12Гб, но таких просадок не было
2 плашки на Xeon Е5...
Таких интеграторов надо не увольнять, а об стену убивать.
Удивительное дело!!!
И эти люди зарплату где-то получают?

Короче, клиенту нужны 4 плашки по 16 ECC registered.
тут уж никуда.
Просрал интегратор конфигурацию.
Чем брызгать слюной, может поясните, для несведующих, в чем именно вы видите причину? И как это приводит к FAIL_PAGE_ALLOCATION?
3 июл 15, 03:21    [17846575]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2676
Mind
Чем брызгать слюной, может поясните, для несведующих, в чем именно вы видите причину? И как это приводит к FAIL_PAGE_ALLOCATION?

Сорри, наболело просто. Недавно с таким же интегратором встретился...
There is insufficient system memory in resource pool 'internal'
Мне кажется, тут написано уже, в чем причина.
3 июл 15, 08:14    [17846743]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Makar4ik
А старый сервер, "с теми же настройками" - тоже был на 24 ядра?
И что, у него каждое ядро кушало меньше?
У вас ядра что-ли память кушают? Чем больше ядер - тем больше надо памяти?

Makar4ik
There is insufficient system memory in resource pool 'internal'
Мне кажется, тут написано уже, в чем причина.
Слышал звон, да не знает, где он...
Это сообщение может говорить о чем угодно. Вплоть до того, что где то memory leak. Вроде были такие баги в 2012, но я думал, что их все уже пофиксали в SP2.
Почему же тогда на старом сервере все работало? Ему хватало памяти?
3 июл 15, 19:35    [17850545]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
maxythewolf,

А у вас включено Lock Pages in Memory?
3 июл 15, 19:35    [17850548]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 888
Mind
maxythewolf,

А у вас включено Lock Pages in Memory?

+
снимите счетчики по памяти, и процессам, посмотреть кто сколько кушает, сколько кстати ОС остается (Memory.Available memory)
Посмотрите сиквельные счетчики pagelife.

из сиквела посмотрите счетчики в sys.dm_os_performance_counters, sys.dm_os_ring_buffers
дополнительно по памяти
http://blogs.msdn.com/b/mvpawardprogram/archive/2012/06/04/using-sys-dm-os-ring-buffers-to-diagnose-memory-issues-in-sql-server.aspx
3 июл 15, 21:11    [17850823]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Slava_Nik,

Slava_Nik
Mind
maxythewolf,

А у вас включено Lock Pages in Memory?

+
снимите счетчики по памяти, и процессам, посмотреть кто сколько кушает, сколько кстати ОС остается (Memory.Available memory)
Посмотрите сиквельные счетчики pagelife.

из сиквела посмотрите счетчики в sys.dm_os_performance_counters, sys.dm_os_ring_buffers
дополнительно по памяти
http://blogs.msdn.com/b/mvpawardprogram/archive/2012/06/04/using-sys-dm-os-ring-buffers-to-diagnose-memory-issues-in-sql-server.aspx
Иногда при такой ошибке даже счетчики уже не посмотришь. У меня недавно была похожая проблема тестовом VM сервере.

Сначала в логе вываливается "Failed allocate pages: FAIL_PAGE_ALLOCATION 2" , потом содержимое DBCC MEMORYSTATUS и "There is insufficient system memory in resource pool 'default' to run this query", иногда даже дамп успевает сделать. После этого сервер уходит в полный отказ, все CPU улетают в 100% и все попытки подключится, даже используя DAC отвергаются с каким то дурацким сообщением. RDP тоже перестает работать. После такого помогает только перезапуск SQL Server'а.

Приводит к такому поведению банальный CREATE INDEX на большой (но не огромной) таблице. Воспроизводится в 99% случаев сразу после старта сервера. Истинную причину искать было некогда, но полечилось все, как ни странно, ВЫКЛЮЧЕНИЕМ Lock Pages in Memory. Сервер тестовый, так что особо не парился, но все же интересно, почему сервер так легко свалить.
3 июл 15, 23:19    [17851224]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
komrad
Member

Откуда:
Сообщений: 5249
Mind
но полечилось все, как ни странно, ВЫКЛЮЧЕНИЕМ Lock Pages in Memory

и как к такому решению пришли?
интересует логическая цепочка умозаключений
или много шагов по выключению всякого-разного пропущено в повествовании?
4 июл 15, 01:21    [17851424]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
komrad
Mind
но полечилось все, как ни странно, ВЫКЛЮЧЕНИЕМ Lock Pages in Memory

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

Сейчас потестировал еще раз. Оказывается еще был включен Resource Governor.
В итоге, вот 3 условия которые должны выполнится одновременно, чтобы упал мой тестовый сервер:
1. Lock Pages in Memory
2. Resource Governor включен с дефолтными настройками
3. Max server memory выставлен на границе со свободной в данный момент памятью на сервере.
Скажем у меня свободно 5.5GB, но даже выставив max mem = 4.5 сервер все равно падает. Но если ограничить 2.5 то все работает, индекс перестраивается за 2 минуты.

Да, на сервере еще запущен второй инстанс и там тоже Lock Pages in Memory включен, и хотя по идее памяти должно хватать и тому и другому, но тем не менее возникают проблемы.
4 июл 15, 01:57    [17851450]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
maxythewolf
Member

Откуда: (Ере)ваново, 37
Сообщений: 243
Lock pages in memory - включен, я статейки тоже гуглил.
Вываливается, кстати, некритично - полный дамп памяти пишет, и не может перестартовать несколько процессов. За вчера вывалился всего 1 раз. ОС памяти оставил 4 гига - должно хватить. Думаю, виновато перестроение полнотекстового индекса в авто режиме. Раньше он ночью перестраивался, а сейчас авто стоит.
4 июл 15, 09:24    [17851623]     Ответить | Цитировать Сообщить модератору
 Re: FAIL_PAGE_ALLOCATION 1 после обновления на 2012sql sp2 CU4  [new]
maxythewolf
Member

Откуда: (Ере)ваново, 37
Сообщений: 243
Кажется, поборол. Много чего делал. Из ключевого, отрубил remote proc trans и сделал по файлу на ядро для tempdb - высоконагруженная система, ага. Вообще, сырость продукта убивает - до сих пор Query Analizer из контекста запроса не работает, если он не запущен: привет 2005му - Не удалось подключиться к IPC-порту: Не удается найти указанный файл. (mscorlib)
8 июл 15, 21:58    [17869567]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить