Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL жрет всю оперативную память / 12 сообщений из 12, страница 1 из 1
18.09.2020, 17:29
    #40000341
Finki69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
Доброго дня.
Помогите дилетанту!
Есть sql сервер, 17, на windows. На нем крутятся около 80 баз, общий размер ~50Гб.
На сервере установлено 70Гб оперативной памяти. sql жрет 63-64Гб. и периодически, при запросах, отвечает, что недостаточно памяти для обработки команды.
Задача выяснить, какая из баз его нагружает, и если возможно, то чем.
Спасибо.

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
18.09.2020, 18:24
    #40000361
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
Да, сервер он такой.
Жрет все, до чего может дотянуться.
Это дело житейское.

ЗЫ. Страдалец, твой плачЪ ярославны очень украсил бы результат

select @@version
...
Рейтинг: 0 / 0
18.09.2020, 18:57
    #40000368
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
Finki69,

покажите результат:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select [physical_memory_kb], [virtual_memory_kb], [committed_kb], [committed_target_kb], [sql_memory_model_desc], [numa_node_count] from sys.dm_os_sys_info;

select top 10 [name], [type], [pages_kb], [entries_count] from sys.dm_os_memory_cache_counters order by [pages_kb] desc;

select count_big([page_id])/128 as [cached_mb],
       case [database_id] when 32767 then 'resource' else db_name([database_id]) end as [db]
from sys.dm_os_buffer_descriptors
group by db_name([database_id]), [database_id]
order by 1 desc
...
Рейтинг: 0 / 0
19.09.2020, 15:51
    #40000520
Finki69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
aleks222,

Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)
...
Рейтинг: 0 / 0
19.09.2020, 15:51
    #40000521
Finki69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
felix_ff,
...
Рейтинг: 0 / 0
19.09.2020, 16:29
    #40000528
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
Finki69,

у Вас не включена настройка lock pages in memory для sql server, по сути у вас должно активно использоваться спуллирование в файл подкачки.

Из рекомендаций:
https://docs.microsoft.com/ru-ru/sql/database-engine/configure-windows/enable-the-lock-pages-in-memory-option-windows?view=sql-server-ver15



наиболее используемые базы у вас эти:
6640 RK7_OBED18
2198 RK7_Mariinskiy
2107 RK7_Baklajan
1968 RK7_Hochuharcho
1875 RK7_Pir4_VO
1398 RK7_Mymoon
1390 RK7_SunDay
1298 RK7_Pysh
1259 RK7_Terrassa
1197 tempdb
1178 RK7_Sibur
1167 RK7_Mansarda
1033 RK7_Moskva

покажите еще результат:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT 
      [physical_memory_in_use_kb] /1024 as [phys_mb],
      [large_page_allocations_kb] /1024 as [large_page_mb]
      [page_fault_count] as [faults],
      [memory_utilization_percentage] as [mem_usage],
      [process_physical_memory_low] as [phys_low]
      [process_virtual_memory_low] as [virt_low]
FROM sys.dm_os_process_memory;  

select [name], [value], [value_in_use], [description] from sys.configurations where [name] in (N'locks', N'min memory per query (KB)', N'query wait (s)', N'min server memory (MB)', N'max server memory (MB)', N'max degree of parallelism')

select [cntr_value], [instance_name], [counter_name] from sys.dm_os_performance_counters where [counter_name] in ('Periodic evictions (pages)', 'Pressure evictions (pages/sec)') and instance_name = 'Buffer Pool'
union
select [cntr_value], [instance_name], [counter_name] from sys.dm_os_performance_counters where [counter_name] in ('Page life expectancy')
union
select [cntr_value], [instance_name], [counter_name] from sys.dm_os_performance_counters where [counter_name] in ('Query exec memory target (KB)')
union
select [cntr_value], [instance_name], [counter_name] from sys.dm_os_performance_counters where [counter_name] in ('Memory Grants Pending', 'Memory Grants Outstanding', 'Granted Workspace Memory (KB)' )
union
select [cntr_value], [instance_name], [counter_name] from sys.dm_os_performance_counters where [counter_name] in ('Memory grant queue waits') and [instance_name] = 'Average wait time (ms)'
...
Рейтинг: 0 / 0
19.09.2020, 16:37
    #40000530
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
felix_ff,

А под кэш не многовато там отожрало, 5 гигов?
Наверняка адхук запросы адские, флажок бы включить...
...
Рейтинг: 0 / 0
19.09.2020, 17:48
    #40000544
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
Finki69
aleks222,

Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)

Батенька, вы сами себе злобный буратино.
Надо исправления ставить и меньше будут ваши геморрои.
...
Рейтинг: 0 / 0
19.09.2020, 19:09
    #40000562
Finki69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
felix_ff,
...
Рейтинг: 0 / 0
20.09.2020, 03:45
    #40000605
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
Finki69
felix_ff,
]

судя по показаниям счетчиков у Вас нет какого то прямо жесткого потребления по пямяти долгосрочного.
то есть проблема не перманентна, а возникает в рамках отдельных запросов к базам.

PLE у Вас вполне в неплохих показателях.
вытеснения из BP тоже в нулях.


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

Вам нужно произвести мониторинг запросов на события hash warning, sort warning. возможно у вас некоторые запросы строят неоптимальный план в достаточно объемными требованиями к грантам памяти на сортировку.

ну и для начала включить Lock pages in memory для учетки под которой стартует служба sql server
...
Рейтинг: 0 / 0
20.09.2020, 07:42
    #40000610
Marat2020
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
felix_ff

ну и для начала включить Lock pages in memory для учетки под которой стартует служба sql server


Я б для Lock pages in memory для начала б выставил Max server memory.
...
Рейтинг: 0 / 0
21.09.2020, 17:45
    #40001061
Finki69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL жрет всю оперативную память
felix_ff,

Большое спасибо за помощь. Будем разбираться.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL жрет всю оперативную память / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]