Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Использование памяти- помогите разобраться плз.  [new]
abrashka
Member

Откуда:
Сообщений: 517
День добрый!
Есть сервер с 65535 (MB) памяти. В настройках SQL Minimum server memory=0,Maximum Server Memory=61440

Т.е. если я правильно понимаю, под buffer pool SQL выделено порядка 62 гига, и если кроме SQL на сервере ничего не бежит, то основными потребителями памяти являются SQL и операционная система, т.е. в Windows Task Manager я ожидаю увидеть, что на сервере свободно менее 4 гигабайт. Но почему-то ни Task Manager ни Resource Monitor так не считает:

Картинка с другого сайта.

Картинка с другого сайта.

Хотелось бы знать или в Task Manager не всегда отображается верная информация и нужно смотреть в sys.dm_os_performance_counters или я не прав?
Картинка с другого сайта.


В моем случае речь идет о:
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
21 июл 16, 10:21    [19434610]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
abrashka
в Windows Task Manager я ожидаю увидеть, что на сервере свободно менее 4 гигабайт
Вы же указали, что выделяете под buffer pool от 0 до "порядка 62 гига"
Вот ему видимо пока не надо больше, он взял 20 гигов
21 июл 16, 11:19    [19435011]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
abrashka
Member

Откуда:
Сообщений: 517
alexeyvg,
Спасибо!
Почему-то все время казалось, что Task Manager все время вычитает Maximum Server Memory, независимо от того используется она или нет, т.е. она в любом случае зарезервирована под SQL.

Тогде остается непонятен еще один вопрос, что показывают эти данные в Task Manager?
Картинка с другого сайта.
21 июл 16, 11:42    [19435209]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
o-o
Guest
Stop using Task Manager to check SQL’s memory usage
21 июл 16, 11:54    [19435300]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
abrashka
Member

Откуда:
Сообщений: 517
o-o,

Спасибо большое!!!
21 июл 16, 12:18    [19435485]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
Подскажите, нормальное ли это поведение для SQL сервера: после перезагрузки за 12 часов он прочитал с диска 47 гигабайт, хотя там используется только одна база размером около 6 гиг, нагрузка со стороны клиентов небольшая(около 20 клиентов). Спрашивается - откуда и куда и зачем были прочитаны 47 гиг ?

Такое ощущение что sql процесс постоянно борется с системой, подгружая в память свои данные. Наблюдения показали, что читает непостоянно, а периодически со скоростью около 2-3мб/сек, в это время система начинает тормозить и вешаться. Через 15-20 минут данные прогружаются и все успокаивается.

Ось - Win7 64бит, ОЗУ 8Гб. файл подкачки автоматический. Может нужные какие-то настройки или тут все в порядке вещей?
29 авг 16, 05:28    [19600929]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
скрин тут Картинка с другого сайта.

К сообщению приложен файл. Размер - 29Kb
29 авг 16, 05:31    [19600930]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
harbor
Спрашивается - откуда и куда и зачем были прочитаны 47 гиг ?
Ну так посмотрите, откуда и куда, так, не видя, трудно сказать.
harbor
Такое ощущение что sql процесс постоянно борется с системой, подгружая в память свои данные.
Вы имеете в виду свопинг? Это легко увидеть по тому, с какими файлами он работает. Посмотрите в ресурс-мониторе.

Но это маловероятно, если на сервере только сиквел.
Если там гора программ, то да, такое может быть, только не "борется с системой", а "борется с другими программами за использование памяти".
29 авг 16, 10:27    [19601295]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
alexeyvg
harbor
Спрашивается - откуда и куда и зачем были прочитаны 47 гиг ?
Ну так посмотрите, откуда и куда, так, не видя, трудно сказать.
harbor
Такое ощущение что sql процесс постоянно борется с системой, подгружая в память свои данные.
Вы имеете в виду свопинг? Это легко увидеть по тому, с какими файлами он работает. Посмотрите в ресурс-мониторе.

Но это маловероятно, если на сервере только сиквел.
Если там гора программ, то да, такое может быть, только не "борется с системой", а "борется с другими программами за использование памяти".

Программ других нет, кроме сервера-обработчика данных. В мониторе видно, что sql усердно читает из основной(и единственной) БД, со скоростью 2-3Мб/с(видимо максимальная, так как забивается очередь диска), словно снова и снова подгружает базу в память, хотя память уже забита до отказа. Никакие другие процессы при этом ничего не пишут и не читают так глобально. Разве что это могут делать драйвера. Выставил настройку, чтобы драйвера ядро не выгружали свои страницы в своп(DisablePagingExecutive=1), помониторю.
29 авг 16, 11:25    [19601535]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
harbor,

запросом select * from table, table1, table2, и тд. я могу вашу базу в 5 гигов превратить в источник данных 1 терабайт с постоянной загрузкой диска и всего прочего, к чему это я, смотрите чего там ваши юзвери делают, сервер сам по себе ничего не делает.
29 авг 16, 11:50    [19601622]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
o-o
Guest
WarAnt
harbor,

запросом select * from table, table1, table2, и тд. я могу вашу базу в 5 гигов превратить в источник данных 1 терабайт с постоянной загрузкой диска

если все эти table, table1, table2 помещаются в память полностью
(а у него вся база 6Гиг при памяти 8),
зачем бы все время с диска-то читать именно из MyBase.mdf?
ну сливать какие-то результаты в темпдб и повесить вообще все это ок,
но это же не заставит одно и то же сто раз читать.
вот если регулярно очищать буфер, тогда да, все заново надо начитывать
---
можно посмотреть на PLE, чтобы понять, идет постоянное вытеснение данных или нет
29 авг 16, 12:34    [19601863]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
WarAnt
harbor,

запросом select * from table, table1, table2, и тд. я могу вашу базу в 5 гигов превратить в источник данных 1 терабайт с постоянной загрузкой диска и всего прочего, к чему это я, смотрите чего там ваши юзвери делают, сервер сам по себе ничего не делает.

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

Попробую монитором активности еще понаблюдать, там вроде детальнее информация. Хотя в мониторе активности на вкладке процессов, я не вижу например что обработчик работающий с основной базой занимает всю оперативку, там только 200мб загрузка.. хотя может это какая-то другая загрузка
29 авг 16, 12:54    [19601987]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
o-o
Guest
посмотрите уже PLE.
хотя бы узнаете, это данные он начитывает или нет
select cntr_value 
from sys.dm_os_performance_counters
where object_name like '%manager%'
  and counter_name = 'page life expectancy'
29 авг 16, 13:07    [19602077]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
o-o
посмотрите уже PLE.
хотя бы узнаете, это данные он начитывает или нет
select cntr_value 
from sys.dm_os_performance_counters
where object_name like '%manager%'
  and counter_name = 'page life expectancy'

счетчик перевалил за 2000 и продолжает потихоньку расти
но сейчас нет той нагрузки. надо ловить очередной загон с чтением с диска, он случается раз или два в час
29 авг 16, 13:42    [19602339]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
o-o
Guest
ну ловите загон.
+ еще можно и в обход buffer pool читать,
это бэкап.
у вас база случайно не бэкапится раз в час?
только 6Гиг все равно моментально бэкапятся, никакие не 15-20 минут
29 авг 16, 14:38    [19602747]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
в общем эти чтения с диска вызывают висячие задачи в агенте, по очистке журналов, распространения, проверки. запускаются каждые 10 мин. ну и бекапы два раза в день читают
30 авг 16, 06:36    [19605528]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
хотел еще на дельфи сделать мониторинг счетчика PLE, но почему-то не получается считывать его
хотя прога проверенная на другом сервере нормально читала данные.
30 авг 16, 06:44    [19605531]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
непонятно короче одна вещь осталась - почему чтение базы в память идет всего со скоростью 2мб/сек
и при этом жестко виснет все
30 авг 16, 09:22    [19605774]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
Mr. X
Guest
harbor,

Антивирус?
30 авг 16, 10:04    [19605955]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
антивирус сразу снес :)
это может зависеть от плохих индексов?
30 авг 16, 10:13    [19605997]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
harbor
это может зависеть от плохих индексов?
Посмотрите latency в ресурс-мониторе. И средний размер одной операции.

Может, фрагментация сильная, или просто обращения к данным таковы, что чтение получается мелкими порциями

От плохих индексов сервер может делать лукапы к строкам, и чтения получатся мелкими блоками.
30 авг 16, 10:32    [19606112]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
да собствено вот в момент жора Картинка с другого сайта.
пробовал запустить реорганизацию, что-то совсем глухо подвисать стало, пока отменил.
30 авг 16, 11:33    [19606508]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
latency на вводе/выводе файла данных пляшет примерно от 1200 до 2000мс при загрузке с базы
30 авг 16, 11:39    [19606538]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти- помогите разобраться плз.  [new]
harbor
Member

Откуда:
Сообщений: 57
похоже, что реорганизация индексов помогла решить затык
30 авг 16, 13:07    [19607076]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить