Администрирование · 11 мин
Сколько памяти нужно для работы 1С
Сколько оперативной памяти нужно для 1С: требования для файловой и клиент-серверной версии, расчёт ОЗУ для сервера 1С и SQL, признаки нехватки памяти.
Объём оперативной памяти — один из главных факторов скорости работы 1С. При нехватке ОЗУ программа начинает тормозить: медленно открываются документы, долго формируются отчёты, пользователи жалуются на «подвисания». При этом избыточная память денег не вернёт — важно подобрать объём под реальную нагрузку, а не покупать «с запасом на всякий случай».
Универсальной цифры не существует: требования зависят от режима работы (файловый или клиент-серверный), количества пользователей, размера базы и конфигурации. Бухгалтерия с тремя пользователями и большой ERP на сотню рабочих мест — принципиально разные задачи с разницей в требованиях на порядок.
От чего зависит потребление памяти в 1С
Память в 1С расходуется на несколько независимых потребителей. Во-первых, это сама платформа — каждый клиентский сеанс занимает ОЗУ на компьютере пользователя или на сервере. Во-вторых, рабочие процессы сервера 1С (rphost), которые обслуживают сеансы в клиент-серверном режиме. В-третьих, СУБД (MS SQL Server, PostgreSQL), которая кэширует данные базы в памяти для ускорения запросов.
Ключевые факторы нагрузки: количество одновременно работающих пользователей, объём информационной базы, интенсивность проведения документов, тяжесть отчётов и наличие фоновых заданий (обмены, расчёты итогов, регламентные операции). Отчёт по большому периоду или групповое перепроведение могут кратковременно потребовать в разы больше памяти, чем обычная работа.
Сколько памяти нужно для файловой 1С
Файловый режим — самый лёгкий сценарий: база хранится в файле 1Cv8.1CD, а вся обработка происходит на компьютере пользователя. Здесь требования определяются клиентской машиной. Для комфортной работы одного пользователя с типовой конфигурацией (Бухгалтерия, Управление торговлей) достаточно 8 ГБ ОЗУ, если на компьютере больше ничего ресурсоёмкого не запущено. С учётом браузера, офисных программ и антивируса практичный минимум — 16 ГБ.
Если файловая база размещена в общей папке и с ней работают 3–5 человек, главным узким местом становится не память, а диск и сеть. Но и здесь на каждом клиентском компьютере должно быть не меньше 8 ГБ. Отдельная ситуация — публикация файловой базы на веб-сервере или работа через RDP на терминальном сервере: тогда память считается уже по терминальным правилам, о которых ниже.
Признак того, что файловой базе тесно: размер 1Cv8.1CD превышает 4–5 ГБ, операции записи документов заметно замедляются, при одновременной работе возникают конфликты блокировок. В этой точке памятью проблему уже не решить — пора переходить на клиент-серверный режим.
Сколько памяти нужно серверу 1С и СУБД
В клиент-серверном режиме память нужна двум компонентам: серверу 1С:Предприятия (процессы rphost) и серверу СУБД. Часто они размещаются на одной физической машине, и тогда её ресурсы делятся между ними.
Практический ориентир для расчёта:
- базовая потребность сервера 1С — около 2–4 ГБ на инфраструктуру и кластер;
- примерно 0,3–1 ГБ на каждого активного пользователя в зависимости от конфигурации (ERP и «тяжёлые» решения — ближе к верхней границе);
- СУБД — желательно выделить объём, сопоставимый с размером активно используемой части базы, чтобы «горячие» данные лежали в кэше.
Пример: база на 20 пользователей с конфигурацией уровня «Комплексная автоматизация». Серверу 1С — порядка 16–24 ГБ, СУБД — 16–32 ГБ. Если оба компонента на одной машине, разумная конфигурация — 48–64 ГБ ОЗУ. Для небольшой базы на 5–10 пользователей обычно хватает 32 ГБ суммарно.
Посмотрите потребление процессов rphost в диспетчере задач в час пик
Проверьте счётчики использования pagefile в мониторе ресурсов
Сравните время формирования в часы пик и в пустой базе
Смотрите на доступную, а не на свободную память
Как измерить реальное потребление памяти
Прежде чем покупать память, измерьте фактическую нагрузку в часы пик. На Windows это делается через «Диспетчер задач» и «Монитор ресурсов»: смотрите суммарное потребление процессов rphost (сервер 1С), sqlservr.exe (MS SQL) или postgres.exe, а также показатель доступной памяти и активность файла подкачки.
Для сервера 1С полезен консоль кластера: в ней видно, сколько сеансов обслуживает каждый рабочий процесс и сколько памяти он занимает. Если один rphost разросся до десятков гигабайт, это может указывать не на нехватку памяти, а на утечку или на то, что все сеансы «слиплись» в один процесс — тогда помогает настройка ограничений кластера.
- 1Замерьте потребление памяти процессами rphost и СУБД в час пик в течение нескольких дней
- 2Определите доступную (не свободную) память и интенсивность использования файла подкачки
- 3Посчитайте число активных сеансов и среднее потребление на сеанс
- 4Рассчитайте целевой объём: текущее потребление плюс запас 25–30% на рост и пики
- 5После добавления памяти повторите замеры и сравните время типовых операций
Настройки, которые экономят память без апгрейда
Часть проблем решается конфигурацией, а не железом. Для MS SQL Server обязательно ограничьте максимальный объём памяти сервера (параметр max server memory), иначе СУБД постепенно заберёт почти всю ОЗУ, оставив сервер 1С и операционную систему на голодном пайке. Оставьте системе и серверу 1С гарантированный резерв.
В свойствах кластера 1С настройте ограничения рабочих процессов: максимальный объём памяти на процесс, количество соединений на процесс, интервал перезапуска. Регулярный перезапуск rphost (например, раз в сутки в нерабочее время) сбрасывает накопленную фрагментацию памяти и утечки в сторонних компонентах.
На клиентских машинах проверьте разрядность: 64-разрядный клиент 1С может использовать больше памяти на тяжёлых операциях, тогда как 32-разрядный ограничен примерно 2 ГБ на процесс и падает с ошибкой «Недостаточно памяти» на больших отчётах даже при свободной ОЗУ в системе.
Терминальный сервер и тонкие клиенты
Если пользователи работают с 1С через RDP на терминальном сервере, вся память расходуется на одной машине. Расчёт: 4–8 ГБ на систему плюс примерно 0,5–1,5 ГБ на каждую активную сессию в зависимости от конфигурации и привычек пользователей (открытые отчёты, несколько окон, Excel рядом с 1С).
Для 20 терминальных пользователей типовой ориентир — 32–48 ГБ ОЗУ. Следите за «тяжёлыми» сессиями: один пользователь, запустивший свёртку базы или огромный отчёт в своей сессии, способен замедлить всех остальных. Такие операции правильнее выносить на сервер 1С в виде фоновых заданий.
Где какой объём памяти уместен
8–16 ГБ. Подходит для 1–2 пользователей; ограничение — размер базы и блокировки при совместной работе
32 ГБ суммарно. Достаточно для небольшой базы; следите за лимитом памяти SQL Server
64–128 ГБ, желательно разнести сервер 1С и СУБД на разные машины при росте нагрузки
32–48 ГБ плюс отдельный сервер для базы; контролируйте тяжёлые операции в пользовательских сессиях
Типичные ошибки при планировании памяти
Самая распространённая ошибка — оценивать память по занятому объёму в диспетчере задач без учёта кэша. Windows и SQL Server специально держат память занятой под кэш: высокий процент использования сам по себе не означает нехватку. Смотрите на доступную память и свопинг.
Вторая ошибка — добавлять память, когда узкое место в дисковой подсистеме. Медленный HDD или перегруженная сеть в файловом режиме дают те же симптомы «тормозов», и апгрейд ОЗУ ничего не изменит. Сначала замерьте, потом тратьте бюджет.
Как проверить, что памяти стало достаточно
После апгрейда или перенастройки зафиксируйте результат измерениями, а не ощущениями. Сравните время выполнения типовых операций — открытие базы, проведение документа, формирование стандартного отчёта — до и после изменений в одинаковых условиях.
Как проверить результат
Стабильно остаётся резерв от 15–20% объёма
Доступной памяти почти нет, растёт файл подкачки
Минимальная активность свопинга
Постоянная запись и чтение из файла подкачки
Сократилось или стабилизировалось в часы пик
Не изменилось — узкое место не в памяти
Прекратились
Повторяются — проверьте разрядность клиента и лимиты кластера
Если после добавления памяти ничего не изменилось, возвращайтесь к диагностике: вероятно, проблема в дисках, сети, неоптимальных запросах в конфигурации или настройках СУБД. Память решает только те проблемы, которые вызваны её нехваткой.
Что важно запомнить
Файловой 1С хватает 8–16 ГБ на клиенте; серверу с СУБД нужен расчёт по числу пользователей и размеру базы с запасом 25–30%. Сначала измеряйте фактическое потребление в час пик, ограничивайте память SQL Server и только потом покупайте железо.
Частые вопросы
Хватит ли 8 ГБ ОЗУ для 1С:Бухгалтерии?
Для одного пользователя с файловой базой небольшого размера — да, при условии что параллельно не запущены тяжёлые программы. Если на компьютере постоянно открыты браузер с десятками вкладок, Excel и почта, комфортнее будет с 16 ГБ.
1С пишет «Недостаточно памяти», хотя ОЗУ свободна. Почему?
Чаще всего это ограничение 32-разрядного клиента: один процесс не может использовать больше примерно 2 ГБ адресного пространства независимо от объёма установленной памяти. Решение — 64-разрядный клиент или выполнение операции на сервере.
Нужно ли ограничивать память SQL Server для 1С?
Да, если сервер 1С и СУБД работают на одной машине. Без ограничения SQL Server постепенно займёт почти всю память под кэш, и серверу 1С с операционной системой не хватит ресурсов. Задайте max server memory с резервом под ОС и rphost.
Сколько памяти нужно на одного пользователя сервера 1С?
Ориентировочно 0,3–1 ГБ на активный сеанс: лёгкие конфигурации ближе к нижней границе, ERP и интенсивная работа с отчётами — к верхней. Точное значение определяется замером потребления rphost под вашей реальной нагрузкой.
Поможет ли добавление памяти, если 1С тормозит?
Только если нехватка памяти подтверждена замерами: высокое использование pagefile, почти нулевая доступная память в час пик. Если тормоза вызваны медленным диском, сетью или неоптимальными запросами, апгрейд ОЗУ эффекта не даст.
Сколько памяти нужно для серверной 1С на 50 пользователей?
Ориентир — 64–128 ГБ в зависимости от конфигурации и размера базы, причём при такой нагрузке имеет смысл разнести сервер 1С и СУБД на разные машины. Точный объём определяйте по замерам потребления в пиковые часы с запасом на рост.