Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите как понять что SQL Server-у памяти не хватает? Какие признаки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:46 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
SQL Server 2008 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:47 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Как-то запросом это понять можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:48 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 17:50 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
дамперДобрый день. Подскажите как понять что SQL Server-у памяти не хватает? Какие признаки? Признак первый. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. И неофициальная ссылка . Признак второй. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И официальная ссылка . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:05 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич https://www.google.ru/search?q=mssql memory bottleneck&oq=mssql memory bottleneck&aqs=chrome..69i57.9247j0j7&sourceid=chrome&ie=UTF-8 Смотрю представление: sys.dm_os_performance_counters и ни как не могу понять какой процент в кэш попадает ( Он же в процентах быть должен... в perfmon посмотреть не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:10 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPдамперДобрый день. Подскажите как понять что SQL Server-у памяти не хватает? Какие признаки? Признак первый. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. И неофициальная ссылка . Признак второй. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. И официальная ссылка . Спасибо. Пытаюсь понять что выводит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:13 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPПризнак первый. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. PLE_SECS = 1637 сек вроде больше 300 сек. Сильно ли 1637 - страшное значение? ... пока со всторым скриптом разбираюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:17 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
дамперAndy_OLAPПризнак первый. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. PLE_SECS = 1637 сек вроде больше 300 сек. Сильно ли 1637 - страшное значение? ... пока со всторым скриптом разбираюсь... Запустите тяжелый и длинный запрос. Если после его окончания значение PLE упадет практически до нуля - памяти для SQL так мало, что в кэши ничего не помещается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:31 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPдамперпропущено... PLE_SECS = 1637 сек вроде больше 300 сек. Сильно ли 1637 - страшное значение? ... пока со всторым скриптом разбираюсь... Запустите тяжелый и длинный запрос. Если после его окончания значение PLE упадет практически до нуля - памяти для SQL так мало, что в кэши ничего не помещается. Понял, благодарю! ... пока со вторым запросом разбираюсь, там sql_memory_utilization_percentage=100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:35 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, разюбираюсь с sys.dm_os_process_memory там есть два последних поля, они сейчас 0. Если бы с памятью было бы все плохо - они бы стали 1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:46 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
дамперAndy_OLAPпропущено... Запустите тяжелый и длинный запрос. Если после его окончания значение PLE упадет практически до нуля - памяти для SQL так мало, что в кэши ничего не помещается. Понял, благодарю! ... пока со вторым запросом разбираюсь, там sql_memory_utilization_percentage=100 Используй Силу, Люк! (c) Можно скачать официальную утилиту мелкомягких под названием RamMap, прочитать кошерную статью из официального блога , учесть различные нюансы . И понять, что куда идет на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 18:56 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
дампер, Оценить можно так: Код: sql 1. 2. 3. 4. 5. 6. Если Target > Total, то памяти не хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2018, 19:05 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPдамперпропущено... PLE_SECS = 1637 сек вроде больше 300 сек. Сильно ли 1637 - страшное значение? ... пока со всторым скриптом разбираюсь... Запустите тяжелый и длинный запрос. Если после его окончания значение PLE упадет практически до нуля - памяти для SQL так мало, что в кэши ничего не помещается. ерунду сказали, и что он получит? может такой выборки никогда не будет? ну да после этого запроса упадет PLE до нуля, но это не показатель. Как выше уже говорили: ple за период, а не за запрос или час buffercash операци lazy wrire логи сиквела смотрите, если серверу совсем плохо, то это отразится в логах. плюс есть еще пару счетчиков, связанные со страницами и dmv, но не могу точно сказать. все это надо анализировать совместно, а не отдельно, Как то на курсах в MS говорили, что идеально когда память на сервере равна объему бд, но это применимо когда бд небольшие. У меня бд десятки Тб, памяти столько не поставишь, а даже еще сделаешь хуже серверу с огромным объемом памяти. А конкретно по вашему вопросу и случаю, описали бы какой объем у вас есть, размер бд, и почему такой вопрос задаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 00:30 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
invmдампер, Оценить можно так: Код: sql 1. 2. 3. 4. 5. 6. Если Target > Total, то памяти не хватает. не показатель, отчасти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 00:30 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
invmдампер, Оценить можно так: Код: sql 1. 2. 3. 4. 5. 6. Если Target > Total, то памяти не хватает. А если равны? о_О У меня они равны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 10:22 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
дамперУ меня они равны.Тогда смотрите другие счетчики: Page Life Expectancy Buffer Cache hit ratio Page reads / sec Page writes / sec Lazy writes / sec Memory Grants Pending Total Server Memory Target Server Memory Available Mbytes Pages / sec Paging File % Usage Почему вы вообще решили, что у вас проблемы с памятью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 10:57 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Смешались кони люди. Дельное только invm сказал. Так, по порядку: Запустите тяжелый и длинный запрос. Если после его окончания значение PLE упадет практически до нуля - памяти для SQL так мало, что в кэши ничего не помещается. Вообще не показатель. У меня в системе есть хранимка которая выполняется раз в 30 мин. и собирает статистику, выполняется минуты 3-5, выгребает чуть ли не 50 ГБ при кэше в 20. PLE падает до нуля, а Lazy Write счетчик до 900 подскакивает. Этот запрос выбирает данные которые потом и нафиг не нужны следующим запросом, в итоге PLE у меня не бывает больше 1700 примерно, а после этого запроса счетчик Page Read какое то время показывает довольно высокие значения. Вывод, будет скоро брать оперативу, в раза 3 увеличим и будет у меня счастье. Я к тому что надо знать нагрузку и понимать ее приничины, а не просто смотреть на цифры. Buffer Cache hit ratio не показатель - https://www.red-gate.com/simple-talk/sql/database-administration/great-sql-server-debates-buffer-cache-hit-ratio/ Смотрите счетчики которые написал invm, смотрите самые дорогие хранимки и запросы в кэше по i\o Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. Также если совсем все хреново можно еще посмотреть dm_exec_query_resource_Semaphores и dm_exec_query_memory_grants Также учтите, что нехватка памяти может быть не нехваткой как таковой, а просто плохо написанным запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 12:24 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
дамперразбираюсь с sys.dm_os_process_memory там есть два последних поля, они сейчас 0. Если бы с памятью было бы все плохо - они бы стали 1? Это значит, что прямо сейчас памяти у вас хватает. Было бы 1 - прямо сейчас не хватает. Можно посмотреть, не было ли нехватки памяти в прошлом (обычно в течение нескольких дней) с помощью запроса к sys.dm_os_ring_buffers . EventTime - время события, IndicatorsProcess = 2 - Sql Server-у не хватало памяти, IndicatorsSystem = 2 - ОС не хватало памяти. Но, честно говоря, использую этот запрос только для сравнения со средними значениями. Если сообщений о нехватки памяти за день неожиданно стало больше, чем было раньше - стоит посмотреть, что произошло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2018, 12:55 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
invmдампер, Оценить можно так: Код: sql 1. 2. 3. 4. 5. 6. Если Target > Total, то памяти не хватает. Хм, можете пояснить или указать источник? Допустим, Target=56GB, Total=40 GB. Т.е. серверу больше 40 пока не надо. Почему можно считать, что не хватает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 22:26 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
step_ksДопустим, Target=56GB, Total=40 GB. Т.е. серверу больше 40 пока не надо. Почему можно считать, что не хватает?Не обязательно не хватает, а может быть не хватает. Поэтому я и написал "оценить". https://social.msdn.microsoft.com/Forums/sqlserver/en-US/1e51965d-fbb1-4f73-b977-5284516b3d45/total-server-memory-vs-target-server-memory-made-me-crazy?forum=sqldatabaseengine If Total Server Memory is less than Target Server Memory it can be a sign of memory pressure ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2018, 23:51 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
invm, И самое главное авторHowever, I very rarely rely on this as a way to look for memory pressure, there a plenty of other counters that give you a better clue when SQL is in memory contention. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2018, 02:24 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Странно что еще не написали о самом простом: DBCC MEMORYSTATUS Материала для анализа там более чем достаточно. Ну и совсем уж апокалиптический евент 17130 "Not enough memory for the configured number of locks" Неужто никто не наступал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2018, 23:51 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
aleksrovсмотрите самые дорогие хранимки и запросы в кэше по i\oВ случае серьезного memory pressure кэш планов будет достаточно быстро вымываться, так что толку на него смотреть особо нету. Да и впринципе, не понятно какая связь между средним количеством логических операций и памятью? Ну допустим есть дорогие запросы, а как это покажет что "SQL Server-у памяти не хватает"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 01:54 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
ColСтранно что еще не написали о самом простом: DBCC MEMORYSTATUS Материала для анализа там более чем достаточно.Я бы не назвал это самым простым, и скорее проблема в том что материала слишком много. Надо точно знать куда смотреть. У вас есть какие то четкие критерии, типа если это значение больше такого то, значит серверу памяти не хватает? ColНу и совсем уж апокалиптический евент 17130 "Not enough memory for the configured number of locks" Неужто никто не наступал?Нет не случалось. Был другой весьма редкий случай "нехватки памяти". CPU через 1-2 неделю после перезагрузки сервера стабильно уходило в 90%+, при этом все предложенные тут счетчики памяти не показывали вообще ничего, PLE намного больше 300, Free Memory так вообще 4Гб, всякие Total, Target тоже ничего вменяемого. Единственные аномалии были в высоком RESOURCE_SEMAPHORE_QUERY_COMPILE ну и соответственно Big Gateway-и проседали. В итоге, как оказалось, один из клерков (вроде этот USERSTORE_TOKENPERM) утекал, забирая себе всю память, вытесняя всех остальных, но только внутри Stolen Server Memory, не забирая память у Database Cache и не захватывая больше определенного лимита из Free Memory. Соответстенно PLE и прочие совсем не страдали, зато очень сильно страдал Plan Cache, что собственно и приводило к постоянным вытеснениям планов и компиляциям (не рекомпиляциям) ну и как следствие высокой CPU нагрузке. Как раз таки только DBCC MEMORYSTATUS хоть как то намекал что преблема с памятью, но естественно нужно было знать, что конкретно искать, к тому же ожидания на Gateway были далеко не постоянными, так что нужно было еще и поймать тот момент когда это происходило. Ко всему вышеперечисленному, я бы добавил что нужно смотреть на ожидания, а конкретно на: PAGEIOLATCH_XX RESOURCE_SEMAPHORE RESOURCE_SEMAPHORE_QUERY_COMPILE Плюс ожиданий в отличие от предложенных DMV, еще и в том, что они накапливают информацию, а не показывают ее на конкретный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 02:33 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39610852&tid=1690119]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 309ms |

| 0 / 0 |
