Потребление памяти SQL Server 2k5?

У меня есть виртуальная машина разработки, на которой запущен sql-сервер, а также некоторые другие приложения для моего стека, и я обнаружил, что другие приложения работают ужасно. После некоторого покопания SQL Server забирал память. После быстрого поиска в Интернете я обнаружил, что по умолчанию он потребляет столько памяти, сколько может, чтобы кэшировать данные и возвращать их системе по запросу других приложений, но этот процесс часто происходит недостаточно быстро, очевидно моя ситуация - обычная проблема.

Однако есть способ ограничить объем памяти, который может иметь SQL Server.. У меня вопрос, как мне установить этот предел. Очевидно, мне нужно будет сделать некоторые предположения и проверить, но есть ли абсолютный минимальный порог? Любые рекомендации приветствуются.

Редактировать:

Я отмечу, что наши машины для разработчиков имеют 2 ГБ памяти, поэтому я хотел бы иметь возможность запускать виртуальную машину на 768 МБ или меньше, если это возможно. Эта виртуальная машина будет использоваться только для локальной разработки и тестирования, поэтому нагрузка будет минимальной. После того, как код был протестирован локально, он переходит в другую среду, где выделен сервер SQL. Что я действительно ищу здесь, так это рекомендации по минимумам

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
664
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

so id like to be able to run the vm on 768 mb or less if possible.

Это будет зависеть от ваших данных и размера вашей базы данных. Но обычно я предпочитаю давать SQL-серверу хотя бы 1 ГБ.

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

Для производственных машин, конечно, лучше всего передать управление машиной Sql Server (Processors -> Boost Sql Server Priority) и позволить ему иметь всю необходимую оперативную память.

Поскольку вы используете виртуальные машины, возможно, вы могли бы создать выделенный только для Sql Server и запускать все остальное на другой виртуальной машине.

Ответ принят как подходящий

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

Но если вы много работаете с виртуальной машиной, почему бы не выделить ей хотя бы половину 2 ГБ?

Извлечено из документации SQL Server:

Maximum server memory (in MB)

Specifies the maximum amount of memory SQL Server can allocate when it starts and while it runs. This configuration option can be set to a specific value if you know there are multiple applications running at the same time as SQL Server and you want to guarantee that these applications have sufficient memory to run. If these other applications, such as Web or e-mail servers, request memory only as needed, then do not set the option, because SQL Server will release memory to them as needed. However, applications often use whatever memory is available when they start and do not request more if needed. If an application that behaves in this manner runs on the same computer at the same time as SQL Server, set the option to a value that guarantees that the memory required by the application is not allocated by SQL Server.

Рекомендация по минимуму: нет такой вещи. Чем больше памяти, тем лучше. SQL-серверу требуется столько памяти, сколько он может получить, иначе он испортит ваш ввод-вывод.

Остановите SQL Server. Запустите другие приложения и обратите внимание на необходимый им объем памяти. Вычтите это из общей доступной оперативной памяти и используйте это число для настройки MAX памяти в SQL Server.

Другие вопросы по теме