Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
MindНадо точно знать куда смотреть. Я бы сказал там надо весь вывод анализировать отдельно по блокам, да я думаю Вы это проходили судя по описанию меморилика стукнувшего по голове процессора Mind Был другой весьма редкий случай "нехватки памяти". Это скорее из области багов, про такое хорошо байки травить когда все уже закончилось. :) Эвент 17130 же является прямым следствием нехватки памяти. Я на него наступил когда заведомо установил сервер с 20% от запланированного объема памяти, логисты наши тогда сильно "провинились" а у меня не было других вариантов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2018, 16:31 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Mindaleksrovсмотрите самые дорогие хранимки и запросы в кэше по i\oВ случае серьезного memory pressure кэш планов будет достаточно быстро вымываться, так что толку на него смотреть особо нету. Да и впринципе, не понятно какая связь между средним количеством логических операций и памятью? Ну допустим есть дорогие запросы, а как это покажет что "SQL Server-у памяти не хватает"? Не то в order by, там есть total_physical_reads, по нему отфильтровать. Среднее кол-во лог. операций покажет что запрос читает много страниц, как вариант. Дорогие запросы покажут что дело именно в них, к примеру как я описывал выше. Или еще пример, есть запрос, в where была конструкция where cast (column as date) =, только убрав это, запрос стал выполняться быстрее, вместо scan seek и кол-во лог. чтений упало в 3 раза. Этот же запрос, смотрим дальше, from table as t1 left join table2 as t2..... прикол в том что тут join и нафиг не нужен был, в select не было ни одного стобца из t2, как не было ни в where ни в group by, убираю его (результат запроса естественно не меняется) и log read падает еще больше так как t2 с 10 млн строк читать не нужно. Итого кол-во прочитанных страниц упало в раз 10 наверно. А теперь если таких запросов много и они выгрибают куча данных, естетсвенно памяти будет не хватать, в 90% проблемы с памятью связанны именно с этим, то что описали вы, это уже оставшиеся 10%. Я к тому что сначала стоит посмотреть что у вас выполняется, да и как я писал вообще знать вашу нагрузку, может у вас каждый час запускается отчет для руководства который пол базы читает. Статистику ожиданий разумеется надо посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 05:40 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Коллеги, благодарю за ответы. т.к. около 95% памяти - это Database Cache Memory, думаю надо искать что в кэше. Database Cache Memory - это, как я понял, кэш страниц базы данных. Т.е. какие-то таблицы в кэшэ. Подскажите пожалуйста, 1) как выяснить что за таблицы в кэше? 2) Как выяснить какие запросы помещают эти данные в кэш? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 10:44 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
neodum1) как выяснить что за таблицы в кэше? Выполнить запрос из примера B - sys.dm_os_buffer_descriptors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 17:28 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Eleanorneodum1) как выяснить что за таблицы в кэше? Выполнить запрос из примера B - sys.dm_os_buffer_descriptors Да, спасибо. Выполнил этот же запрос вот из этой статьи: https://docs.microsoft.com/ru-ru/sql/relational-databases/system-dynamic-management-views/sys-dm-os-buffer-descriptors-transact-sql Думаю это то же самое, только на русском. Сейчас остался открытым второй вопрос: 2) Как выяснить какие запросы помещают эти данные в кэш? И появился новый: Можно ли как-нибудь ограничить Database Cache Memory напрямую и имеет ли смысл это делать? Модератор: 21244208 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 18:24 |
|
||
|
Как понять что SQL Server-у не хватает памяти?
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPПризнак первый. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Это всё есть в Код: sql 1. 2. И вы забыли про связь PLE с numa и объёмом памяти. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Но начинал бы я с sys.dm_os_wait_stats. Код: 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. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 20:03 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39613251&tid=1690119]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 345ms |

| 0 / 0 |
