Почему MS SQL потребляет много оперативной памяти?
Имеется сервер 1С на MSSQL, на котором одновременно трудится около 40 человек.
Из 64ГБ ОЗУ, MSSQL 40ГБ + разные службы и диспетчеры, итого 90%. Нормальное ли это потребление ресурсов?
Есть сервер 1С, который работает с базой MSSQL примерно 70 пользователей. Куча фоновых задач - обмен с сайтом, выгрузка ЭДО и так далее. В целом около 7-10. Есть сервак с 768Гб ОЗУ, примерно 70% памяти загружено) Это вообще нормально что полтерра оперативки жрет SQL SERVER?))
Pavel Valeo, я попросил ЧатГПТ прокомментировать. Ничего нового не услышал. Это все норма для скуля!
SQL Server спроектирован так, чтобы максимально эффективно использовать доступную оперативную память для повышения производительности. Это означает, что он активно «заполняет» свободную память для кэширования данных, хранения планов выполнения запросов и других внутренних нужд. Такое поведение вполне ожидаемо и даже желательно, поскольку наличие кэша помогает уменьшить количество обращений к дисковой подсистеме, что существенно ускоряет работу базы данных.
При этом важно понимать, что SQL Server не «заблокирует» всю оперативную память навсегда – если операционной системе или другим приложениям потребуется дополнительная память, SQL Server способен корректно освободить часть своих ресурсов. Тем не менее, если сервер используется для других задач помимо SQL Server, часто рекомендуется вручную задать ограничение (параметр «max server memory»), чтобы гарантировать достаточное количество памяти для операционной системы и других сервисов.
В вашем случае сервер с 768 Гб ОЗУ и загрузкой около 70% памяти, скорее всего, показывает нормальную картину работы, особенно если вы не наблюдаете ухудшения производительности или других проблем. Если же возникают вопросы по производительности, можно провести мониторинг и, при необходимости, настроить ограничения на потребление памяти SQL Server.
Таким образом, ответ: да, такое поведение SQL Server является нормальным, если система работает стабильно и нет признаков недостатка памяти для операционной системы или других процессов.
Для MS SQL это нормально: SQL-сервер старается занять как можно больше памяти для кэширования таблиц.
С 1С на одном сервере рекомендует ограничивать MS SQL. Например. Есть и ещё.
Capitollium, Кроме кэширования таблиц SQL-серверу нужна память для кэширования запросов и других нужд. Если он отбирает её у сервера приложения 1С — ограничивайте.