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

Откуда:
Сообщений: 1
Возникла проблема. Опишу всю ситуацию в целом. В компанию на весь транспорт установили GPS трекеры которые в режиме реального времени передают данные на сервер. ТТХ сервера Prolian ML110 g6 CPU: Xeon x3440 2.4 Gh; RAM DDR3 ECC 8 Gb;ОС: Win2008R2 Standart (x64). На сервере развернул Microsoft SQL Server Enterprise Edition (64-bit) SP4. Использую всего одну таблицу в базе данные, в которую записываются координаты машин. Размер таблицы около 20 миллионов строк, а сам размер базы 13 Gb. SQL выжирает память под 90% и каждый день растет. Как можно побороть проблему с загруженностью оперативной памяти?
Проводил тест, перезагружал сервер, после старта RAM использовалась только на 1.5 Gb и в базу также поступали данные координат GPS, НО когда начинаешь строить отчет и посылать запросы на SQL, то загруженность оперативки резко увеличивается и не изменяется, то есть SQL не освобождает оперативную память после выполнения запроса.
Буду признателен в совете.
6 апр 11, 12:21    [10478362]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
nayprom
то есть SQL не освобождает оперативную память после выполнения запроса.
Буду признателен в совете.


Он и не должен.
А в чем собственно проблема? Разве память не для того, чтобы ее использовать?

Пс. Если очень хочется, можно установить Max Server Memory в столько ГБ сколько Вы готовы отдать скулю.
6 апр 11, 12:26    [10478424]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
nayprom
Проводил тест, перезагружал сервер, после старта RAM использовалась только на 1.5 Gb и в базу также поступали данные координат GPS, НО когда начинаешь строить отчет и посылать запросы на SQL, то загруженность оперативки резко увеличивается и не изменяется, то есть SQL не освобождает оперативную память после выполнения запроса.
Буду признателен в совете.
С чего вы взяли, что это проблема, и с чего вы взяли, что сервер должен возвращать память после выполнения запроса?
6 апр 11, 12:29    [10478455]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
lite77
Member

Откуда: Москва
Сообщений: 7
nayprom,

В SSMS на имени экземпляра сервера правой кнопкой --Properties -->Select Page -->Memory -->Maximym server memory (in MB) установить столько сколько не жалко отдать, например: для Вас я бы выделил 6000, остальное (2 гига) для операционки. Sql Server не будет брать памяти более указанного. Вообще, если в базе одна таблица, а памяти выделять 6 гигов - это роскошь, но если на сервере нет других задач я бы максимум памяти отдал SQL server.
7 апр 11, 17:57    [10487620]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
lite77
nayprom,

Вообще, если в базе одна таблица, а памяти выделять 6 гигов - это роскошь
Даже если эта таблица весит пару терабайт?
7 апр 11, 17:58    [10487632]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
lite77
Member

Откуда: Москва
Сообщений: 7
Гавриленко Сергей Алексеевич,
если таблица весит терабайты, мне кажется нужно задуматься о нормализации базы а не о наращивании памяти.
7 апр 11, 18:01    [10487650]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
lite77
Гавриленко Сергей Алексеевич,
если таблица весит терабайты, мне кажется нужно задуматься о нормализации базы а не о наращивании памяти.
А если в таблице одно поле bigint?

Не будьте так категоричны и быстры в своих выводах.

Сообщение было отредактировано: 7 апр 11, 18:09
7 апр 11, 18:08    [10487683]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Гавриленко Сергей Алексеевич
lite77
Гавриленко Сергей Алексеевич,
если таблица весит терабайты, мне кажется нужно задуматься о нормализации базы а не о наращивании памяти.
А если в таблице одно поле bigint?

Не будьте так категоричны и быстры в своих выводах.

а зачем так?
"Справочник целых чисел"?
7 апр 11, 19:02    [10487919]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
locky
а зачем так?
"Справочник целых чисел"?
Я утрировал пример.
7 апр 11, 19:05    [10487931]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Гавриленко Сергей Алексеевич
locky
а зачем так?
"Справочник целых чисел"?
Я утрировал пример.

Ну разве что...
Но в данном случае, как я понял, мы имеем дело с леджером, в котором есть дата, и отчеты (по идее), строятся не за всю историю, а за обозримый период времени, и, следовательно, по относительно небольшой порции данных, т.е. даже при терабайтных объемах данных много памяти, в общем-то, не нужно.
Другой дело если собственно активная порция данных достаточно велика - тогда да.
Да и вообще - скулю памяти много не бывает :)
7 апр 11, 19:08    [10487942]     Ответить | Цитировать Сообщить модератору
 Re: Уменьшить потребление оперативной памяти  [new]
g0d
Member

Откуда:
Сообщений: 97
locky,

Как можно посчитать объем требуемой памяти?
8 июн 11, 12:34    [10781971]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить