SQL Server 2k5 потребление памяти? - PullRequest
3 голосов
/ 26 августа 2008

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

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

Edit:

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

Ответы [ 4 ]

2 голосов
/ 16 сентября 2008

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

Максимальная память сервера (в МБ)

Указывает максимальный объем памяти SQL Server может выделить при запуске и пока он работает. Эта конфигурация опция может быть установлена ​​на определенное значение если вы знаете, что есть несколько приложения, работающие одновременно как SQL Server, и вы хотите гарантировать, что эти приложения достаточно памяти для запуска. Если эти другие приложения, такие как веб или почтовые серверы, запросить память только как необходимо, то не устанавливайте опцию, потому что SQL Server освободит память им по мере необходимости. Тем не менее, приложения часто используют любую память доступно, когда они начинают и делают не запрашивать больше, если это необходимо. Если приложение, которое ведет себя в этом манера работает на том же компьютере в в то же время, что и SQL Server, установите вариант к значению, которое гарантирует, что память, необходимая приложению не выделяется SQL Server.

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

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

1 голос
/ 26 августа 2008

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

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

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

1 голос
/ 26 августа 2008

так что я хотел бы иметь возможность запустить виртуальную машину на 768 МБ или меньше, если это возможно.

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

0 голосов
/ 26 августа 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...