У замовчуванні пулу ресурсів недостатньо системної пам'яті для запуску цього запиту


15

Я використовую SQL Server 2014 - 12.0.2269.0 (X64) на Windows Server 2012, і у мене виникають деякі проблеми з пам'яттю. Коли я запускаю збережену процедуру, яка робить досить «важкий» обчислення, я отримую помилку приблизно через 10 хвилин:

У пулі ресурсів "за замовчуванням" недостатньо системної пам'яті для запуску цього запиту.

Мій SQL Server має декілька баз даних (наприклад, 15, але вони не завжди використовуються одночасно). Я переглянув файл журналу SQL Server (після того, як отримав помилку), і побачив безліч рядків, таких як:

2015-12-17 12: 00: 37.57 spid19s Заборона розподілу сторінок для бази даних "Database_Name" через недостатню пам'ять у пулі ресурсів "за замовчуванням". Див. " Http://go.microsoft.com/fwlink/?LinkId=330673 " для отримання додаткової інформації.

Звіт формується в журналі з пам'яттю, що використовується кожним компонентом (я думаю). Якщо я правильно інтерпретую звіт, ми можемо побачити, що пам'ять споживається багато MEMORYCLERK_SQLBUFFERPOOL. Звіт можна знайти тут: http://pastebin.com/kgmk9dPH

Я також створив звіт із графіком, який показує той самий "висновок":

! [використання пам'яті

Ось, можливо, ще один корисний звіт:

введіть тут опис зображення

введіть тут опис зображення

Зауважте, що я також бачив цю помилку в журналі:

2015-12-17 12: 04: 52,37 spid70 Не вдалося розподілити сторінку через тиск в базі даних: FAIL_PAGE_ALLOCATION 8

Ось деякі відомості щодо пам’яті сервера:

  • Загальна пам'ять на сервері: 16 Gb

  • Пам'ять, виділена SQL-серверу: 12288 Мб

  • Використовувана фізична пам'ять (від sys.dm_os_process_memory): 9287 Мб

Якщо це може допомогти, сервер не розміщує жодної бази даних SharePoint.


Яка максимальна пам'ять та загальна оперативна пам’ять на сервері?
Кін Шах

Відповіді:


6

Хоча це, мабуть, не точна відповідь на вашу проблему, я все-таки опублікую його, сподіваючись, що це може допомогти вам певним чином.

Те, що ви бачите, - це не те, MEMORYCLERK_SQLBUFFERPOOLа MEMORYCLERK_SQLLOGPOOLзапам’ятовування всієї пам’яті.

Існує відома проблема з помилками помилки в пам'яті SQL 2012 SQL Server 2012 . Незважаючи на те, що ви ведете 2014 рік, є ймовірність, що ви зіткнетеся з тією ж проблемою (навіть якщо я не зміг знайти елемент підключення для 2014 року).

Існує також ця відома проблема як для 2014, так і для 2012 року, що стосується перебудови індексу та always on. Ви не вказали, що ви використовуєте це, але, можливо, у тієї ж помилки є й інші тригери: FIX: Пам'ять кеш-пам'яті SQL зменшується, а використання процесора збільшується при перебудові індексу для таблиці в SQL Server

Тому зараз найкращим моїм пропозицією є оновлення до останнього МС і перевірити, чи все-таки це відбувається, оскільки останнім часом було кілька виправлень MEMORYCLERK_SQLLOGPOOL. Оскільки у вас працює RTM з двома виправленнями безпеки, які можуть мати сенс, є SP1 + декілька CU.

Оскільки в цій статті також використовується достатньо високий об'єм пам'яті MEMORYCLERK_XTP, in-memory OLTPце може допомогти вам усунути неполадки: монітор та усунення несправностей використання пам'яті

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.