Ошибка недостаточно свободной памяти на сервере 1с предприятия

Александр Рудницкий

Александр Рудницкий


Программист 1С компании CorpSoft24

Ошибка системы «1С: Предприятие 8.3» из-за нехватки памяти — постоянный спутник администратора 1С. Разбираемся, из-за чего они возникают, и рассматриваем пример диагностики одного подобного эпизода из практики администрирования сервера 1С.

Природа проблемы

Сообщение «Недостаточно памяти» — одна из самых часто встречающихся ошибок при работе с 1С: Предприятие версии 8.3 и выше. Она происходит по самым разным причинам — от обработки системой нескольких массивных файлов и загрузки больших объёмов данных, до обновления ПО и перегрузки ресурсов при формирования сложных отчётов.

Она не так критична при возникновении на клиентском компьютере, а вот если сообщение об ошибке выдает сервер 1С, нужно отнестись к этому максимально внимательно. Это тот самый случай, когда очень важно установить правильный «диагноз» — то есть решения не будет, пока ответственный администратор не распознает источник проблемы, не поймёт её природу.

Проблема может заключаться в несвоевременном завершении процессов, запускаемых различным ПО. Они накапливаются и перегружают доступный объём памяти на сервере. Также может иметь место интенсивная работа различных программ с постоянным резервированием и освобождением ресурсов памяти.

Приведу пример расследования одной подобной ошибки из своей практики.

Инцидент

Поступило обращение со следующей ошибкой:

Александр Рудницкий


Программист 1С компании CorpSoft24

Ошибка системы «1С: Предприятие 8.3» из-за нехватки памяти — постоянный спутник администратора 1С. Разбираемся, из-за чего они возникают, и рассматриваем пример диагностики одного подобного эпизода из практики администрирования сервера 1С.

Природа проблемы

Сообщение «Недостаточно памяти» — одна из самых часто встречающихся ошибок при работе с 1С: Предприятие версии 8.3 и выше. Она происходит по самым разным причинам — от обработки системой нескольких массивных файлов и загрузки больших объёмов данных, до обновления ПО и перегрузки ресурсов при формирования сложных отчётов.

Она не так критична при возникновении на клиентском компьютере, а вот если сообщение об ошибке выдает сервер 1С, нужно отнестись к этому максимально внимательно. Это тот самый случай, когда очень важно установить правильный «диагноз» — то есть решения не будет, пока ответственный администратор не распознает источник проблемы, не поймёт её природу.

Проблема может заключаться в несвоевременном завершении процессов, запускаемых различным ПО. Они накапливаются и перегружают доступный объём памяти на сервере. Также может иметь место интенсивная работа различных программ с постоянным резервированием и освобождением ресурсов памяти.

Приведу пример расследования одной подобной ошибки из своей практики.

Инцидент

Поступило обращение со следующей ошибкой:

Смотрим журнал регистрации, там так же выводится ошибка с пояснением о нехватке памяти на сервере:

Иллюстрация: нехватка памятиИллюстрация: нехватка памяти

Настроив технологический журнал (ТЖ) системы 1С с событием EXCP — EXCPCNTX обнаруживаем запись:

Ошибка СУБД out of memory for query result

То есть, обе ошибки сообщают о проблеме объёма памяти, на основании чего нашим главным подозреваемым становится код конфигурации (возможно наличие неоптимальных запросов).

Находим код конфигурации, вызывающий ошибку.

В журнале регистрации указан следующий код:

{ОбщийМодуль.ДокументооборотСКОВызовСервера.Модуль(22)}: Ошибка при вызове метода контекста (Получить)
по причине:

Недостаточно памяти для получения результата запроса к базе данных

Открываем конфигуратор и переходим в указанный модуль к указанному номеру строки кода:

Иллюстрация: нехватка памяти

Строка, на которой произошла ошибка:

ВнешниеОбъектыХранилище = Константы.ДокументооборотСКонтролирующимиОрганами_ВнешнийМодуль;
ДвоичныеДанныеОбработки = ВнешниеОбъектыХранилище.Получить().Получить();

Смотрим тип объекта (константы), к которой идёт обращение:

Иллюстрация: нехватка памяти

Итак, в конфигурации есть константа:

ДокументооборотСКонтролирующимиОрганами_ВнешнийМодуль

Она хранит в базе что-то неструктурированное (двоичные данные), что может занимать значительный объём памяти.

Проверяем, какой объем данных фактически занимает константа. Для этого узнаем имя таблицы хранения в базе PostgreSQL — таблица «_Const10013», индекс «_Const10013_ByKey».

Иллюстрация: нехватка памяти

Узнаем размер таблиц «Const10013», «_Const10013_ByKey» на диске:

На диске таблица занимает всего 4688 Кб = 4,6 Мб. Размер является незначительным, значит, причина не в константе.

Обнаруживаем, что кластер 1С является 32-разрядным:

32-разрядный кластер 1С имеет ограничение примерно в 3.8 Гб, при достижении которого происходит падение процесса. В режиме отсутствия нагрузки rphost занял 3,2 Гб, что близко к порогу падения. Подобные инциденты будут происходить в любой момент времени.

Внесены изменения:

  • В кластере серверов 1С «Интервал превышения допустимого объёма памяти процессов» = 300. Настройка не избавляет от ошибки, но необходима для снижения частоты возникновения ошибки.
  • В планировщике Windows настроен перезапуск службы 1С; такими образом освобождается виртуальное адресное пространство в памяти, создаётся новый рабочий процесс.

Настройка также не гарантирует от ошибки, но снижает вероятность её возникновения.

Для предотвращения повторной ошибки следует:

  • Сменить 32-разрядный кластер серверов 1С на 64-разрядный.
  • Так как на сервере используется 14 ядер процессора, необходимо осуществить переход на платформенные лицензии 1С КОРП для снятия ограничений по настройкам и обеспечения возможностей для гибкой настройки распределения памяти сервера.

Другие варианты

Зачастую, особенно в ситуации, когда нужно срочно вернуть систему в работоспособное состояние при возникновении подобной ошибки, можно попробовать такие «дедовские» способы, как перезагрузка сервера 1С или перезапуск рабочих процессов 1С, что приведёт к уменьшению объёма используемой памяти.

Источником проблемы также может быть недостаток пространства на жестком диске сервера. Здесь решение будет зависеть от устройство сервера или кластера, но здесь также могут помочь и перезапуск сервера, и наращивание ёмкости диска (или освобождение существующего пространства), а также оптимизация запросов или обновление версии ПО системы.

 +4 

   

Распечатать

После разнесение сервера 1С:Предприятия и SQL-сервера на разные машины при загрузке dt-файла в базу расположенную на SQL-сервере стали получать ошибку «Недостаточно свободной памяти на сервере 1С:Предприятия».
или (Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: there is insufficient memory in resource pool ‘default’ to run this query. HRESULT=80040E14 )

Решение проблемы:


1. При возникновении ошибки перезапустить службу сервера 1С.
2. Использовать много процессов(В свойствах кластера поставить галочку «Много процессов»). Добавить рабочие процессы, оптимальное значение 4-5 процессов.
3. Использовать регламентный перезапуск рабочих процессов. Но это не снимет проблему. Просто сократит «утечку» памяти.
4. Для операций с базой данных, например копирование базы данных использовать средства ms sql, а не работу с файлами dt.
5. Включите запись событий DBMSSQL в Технологический журнал
(Смотрите текст файла «logcfg.xml» ниже или воспользуйтесь обработкой с ИТС НастройкаТехнологическогоЖурнала.epf) и определите, на загрузке какой таблицы происходит ошибка. Если config, то выполните загрузку в файловый вариант и очистку конфигурации поставщика:
5.1 Для этого надо проверить конфигурацию на наличие некорректной информации. Для этого следует выполнить команду меню Конфигурация — «Проверка конфигурации» (НЕ ТЕСТИРОВАНИЕ!) с ОДНИМ установленным флажком «Проверка логической целостности конфигурации». При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически
5.2 Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении («Удалена некорректная информация о метаданных»), значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика.

Добавление рабочего процесса
Добавление рабочего процесса, в отличие от просмотра, возможно, только для конкретного сервера кластера.
Для добавления нового рабочего процесса сервера кластера следует выбрать в дереве центральных серверов требуемый сервер, выбрать требуемый кластер, выбрать требуемый сервер кластеров выбрать ветку «Процессы» и выполнить команду контекстного меню «Создать — Процесс», галочкой Включить процесс.

Если процесс НЕ добавляется, то проверьте и сделайте следующее:
1. В свойствах Кластера должна стоять галочка «Много процессов»
2. В свойствах Рабочего сервера Увеличьте Диапозон IP адресов

По поводу перезапуска рабочих процессов — с какого момента начинается отсчет указанный в настройке кластера?
С момента старта процесса. Например стартовал в 18:00:00. Период перезапуска 86400 секунд, т.е. 24 часа. Соответственно через сутки в 18:00:00 процесс остановится и будет создан новый процесс.

Оптимизация перезапуска рабочих процессов:
1. Интервал перезапуска: 86400 сек (24 часа). Момент перезапуска не регламентируется, видимо с момента установки параметров, либо запуска сервера приложений.
2. Также можно указать допустимый объем памяти: 3000000 Кб (3 Гб).
3. Интервал превышения допустимого объема памяти — это непрерывный интервал времени превышения допустимого объема памяти, после которого сервер перезапустит процесс. Если указано 0 сек — будет ждать вечно.
title
Источник: raw8.ru

Как включить запись событий DBMSSQL в технологический журнал?

Файл C:Program Files1Cv81binconflogcfg.xml должен содержать:

Код

< config xmlns=»http://v8.1c.ru/v8/tech-log»>
< log history=»168″ location=»C:Program Files1Cv81binlogs»>
< event>
< eq property=»name» value=»dbmssql»/>
< /event>
< property name=»all»/>
< /log>
< /config>

Решаемая задача: ошибка «недостаточно памяти на сервере 1С»

Ошибка в приложении

Рисунок 1 — Ошибка в приложении

Для выполнения описанных действий требуется учетная запись Администратора.

Вариант №1 решение проблемы заключается в увеличении памяти процесса 1С

Шаг 1. Запускаем командную строку.
Откройте командную строку Windows. Воспользуйтесь меню «Пуск» или
комбинацией клавиш Windows +R и введите команду:

cmd

Окно приложения «Выполнить»

Рисунок 2 — Окно приложения «Выполнить»

Шаг 2. В появившемся окне наберите команду:

bcdedit /set increaseuserva 3200

Для примера, увеличим ограничение до 3,2 Гб. Увеличивать ограничение стоит аккуратно и постепенно.

Командная строка. Увеличение памяти

Рисунок 3 — Командная строка. Увеличение памяти

Шаг 3. После подтверждения успешного завершения операции в окне командной строки, перезагрузите ПК и попробуйте еще раз выполнить действия, которые привели к ошибке. Если проблема не решена и 1С по-прежнему вылетает – можете еще раз увеличить ограничение.

Шаг 4. После успешного завершения операции без ошибки в 1С, восстановите ограничения Windows по умолчанию командой:

bcdedit /deletevalue increaseuserva

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

Командная строка. Снятия ограничения

Рисунок 4 — Командная строка. Снятия ограничения

Вариант №2 решение проблемы заключается в завершение неиспользуемых сеансов в консоли администрирования 1С

Заходим в Администрирование серверов 1С Предприятия x86-64 выбираем Локальный кластер и с помощью правой кнопки мыши выбираем Свойства:

Вызов свойств локального кластер

Рисунок 5 — Вызов свойств локального кластер

В появившемся окне выбираем Принудительно завершить проблемные процессы:

Параметры кластера

Рисунок 6 — Параметры кластера

И нажимаем Ок.

Также можно выставить ограничения использования памяти, при которых будет срабатывать очистка памяти и отсеивать проблемные процессы.

Последний метод возможен при использовании «Корпоративной лицензии».

Заходим Кластеры — Локальный кластер — Рабочие серверы и на названии сервера выбираем Свойства:

Вызов свойств рабочего сервера

Рисунок 7 — Вызов свойств рабочего сервера

И в ячейке Временно допустимый объем памяти процессоров устанавливаем допустимое значения в байтах.

Окно параметров рабочего сервера

Рисунок 8 — Окно параметров рабочего сервера

Если вам требуется помощь специалиста в настройке, оптимизации сервера 1С:Предприятие, либо переносе в облако, свяжитесь с нами любым удобным способом.

Решаемая задача: ошибка «недостаточно памяти на сервере 1С»

Ошибка в приложении

Рисунок 1 — Ошибка в приложении

Для выполнения описанных действий требуется учетная запись Администратора.

Шаг 1. Запускаем командную строку.
Откройте командную строку Windows. Воспользуйтесь меню «Пуск» или
комбинацией клавиш Windows +R и введите команду:

cmd

Окно приложения «Выполнить»

Рисунок 2 — Окно приложения «Выполнить»

Шаг 2. В появившемся окне наберите команду:

bcdedit /set increaseuserva 3200

Для примера, увеличим ограничение до 3,2 Гб. Увеличивать ограничение стоит аккуратно и постепенно.

Командная строка. Увеличение памяти

Рисунок 3 — Командная строка. Увеличение памяти

Шаг 3. После подтверждения успешного завершения операции в окне командной строки, перезагрузите ПК и попробуйте еще раз выполнить действия, которые привели к ошибке. Если проблема не решена и 1С по-прежнему вылетает – можете еще раз увеличить ограничение.

Шаг 4. После успешного завершения операции без ошибки в 1С, восстановите ограничения Windows по умолчанию командой:

bcdedit /deletevalue increaseuserva

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

Командная строка. Снятия ограничения

Рисунок 4 — Командная строка. Снятия ограничения

Вариант №2 решение проблемы заключается в завершение неиспользуемых сеансов в консоли администрирования 1С

Заходим в Администрирование серверов 1С Предприятия x86-64 выбираем Локальный кластер и с помощью правой кнопки мыши выбираем Свойства:

Вызов свойств локального кластер

Рисунок 5 — Вызов свойств локального кластер

В появившемся окне выбираем Принудительно завершить проблемные процессы:

Параметры кластера

Рисунок 6 — Параметры кластера

И нажимаем Ок.

Также можно выставить ограничения использования памяти, при которых будет срабатывать очистка памяти и отсеивать проблемные процессы.

Последний метод возможен при использовании «Корпоративной лицензии».

Заходим Кластеры — Локальный кластер — Рабочие серверы и на названии сервера выбираем Свойства:

Вызов свойств рабочего сервера

Рисунок 7 — Вызов свойств рабочего сервера

И в ячейке Временно допустимый объем памяти процессоров устанавливаем допустимое значения в байтах.

Окно параметров рабочего сервера

Рисунок 8 — Окно параметров рабочего сервера

Если вам требуется помощь специалиста в настройке, оптимизации сервера 1С:Предприятие, либо переносе в облако, свяжитесь с нами любым удобным способом.

Одна из самых распространенных ошибок, возникающих в процессе работы с 1С 8.3 – «Недостаточно памяти». В реальности она может происходить после множества событий – обновления, обработки больших файлов, формирования отчета, загрузки данных и прочих. Это означает, что любой администратор и разработчик 1С должен понимать суть проблемы и уметь исправлять ее. Простым увеличением оперативной памяти ПК или жесткого диска эту проблему не решить.

Решение проблемы на клиентском компьютере

Причины этой ошибки кроются в том, что в операционных системах семейства Microsoft выделяется определенный объем памяти на каждое приложение 1С. Эти значения заявлены разработчиком, компанией 1С. Для 32-разрядных систем это значение установлено в 2 Гб, для 64 – 4 Гб. Когда ПО превышает этот показатель, на мониторе возникает окно с ошибкой.

Рис.1 Ошибка

Рис.1 Ошибка

Самый простой способ избавиться от таких сообщений – удалить помеченные на удаление объекты в конфигурации. Это помогает нечасто, но избавляет от лишних колебаний. К тому же, риск этих действий минимален, поскольку не требует вмешательства во внутренние настройки Windows. Если удаление не помогло, то придется бороться другими методами.

Еще одним решением для 32-битных систем можно назвать переход на 64-разрядную версию или выделение большего количества памяти приложениям. Первый вариант намного правильнее, но иногда в силу различных причин он невозможен. Тогда остается только вариант с алгоритмом действий, показанный ниже, но пользоваться им стоит очень аккуратно – возможны существенные проблемы с работоспособностью всей системы.

Этот алгоритм достаточно прост:

  1. Откройте командную строку Windows. Воспользуйтесь меню «Пуск» или комбинацией клавиш Windows +R и введите команду «cmd»;
  2. В появившемся окне наберите команду «bcdedit /set increaseuserva 3200» (для примера увеличим ограничение до 3,2 Гб). Увеличивать ограничение стоит аккуратно и постепенно;
  3. После подтверждения успешного завершения операции в окне командной строки перезагрузите ПК и попробуйте еще раз выполнить действия, приведшие к ошибке. Если проблема не ушла и 1С по-прежнему вылетает – можете еще раз увеличить ограничение;
  4. После успешного завершения операции без ошибки в 1С восстановите ограничения Windows по умолчанию командой «bcdedit /deletevalue increaseuserva». Это необходимый шаг, чтобы ОС не ущемляла свою работоспособность в угоду 1С и другим приложениям.

Это решение позволяет выполнить операцию, которую невозможно выполнить из-за ошибки 1С «Недостаточно памяти». Пользоваться им можно только в экстренных случаях, когда операцию необходимо выполнить прямо сейчас. В других обстоятельствах лучше попробовать запустить 1С на 64-разрядной платформе и повторить операцию там.

Недостаточно памяти на сервере 1С

Намного серьезнее стоит относиться к сообщению о том, что недостаточно памяти на сервере при обновлении или масштабной работе. Проблема может быть в несвоевременном завершении процессов, запускаемых различным ПО, вследствие чего происходит «наслоение» и накопление их в виртуальной памяти. Второй источник подобной ошибки – интенсивная работа различных программ с резервированием и освобождением памяти. Существует различное ПО для решения этих проблем, но практика показывает, что оно вызывает разрывы соединений и падения 1С.

Рис.2 Недостаточно памяти на сервере

Рис.2 Недостаточно памяти на сервере

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

Конечно, постоянно их применять не стоит, но однажды они могут помочь при необходимости срочно выполнить ресурсоемкую работу. Среди популярных способов, способных помочь решить ошибку недостатка памяти на сервере, называют:

  • Перезагрузка сервера 1С;
  • Перезапуск рабочих процессов 1С, что приведет к уменьшению используемой памяти. Этот вариант подойдет только для опытных администраторов, разбирающихся в консоли администрирования сервера 1С;
  • Используя технологический журнал, найти таблицу, при загрузке которой появляется ошибка «Недостаточно памяти» при обновлении или другой операции. Если ошибка появилась при работе с таблицей «config», то выполните проверку конфигурации с флагом «Проверка логической целостности конфигурации». Найти эту функцию можно в конфигураторе в меню «Конфигурация».

Еще одна распространенная ошибка 1С возникает, когда на жестком диске на сервере мало места. Временные таблицы занимают много места, и в случае его недостатка, администратор видит ошибку «Недостаточно свободной памяти для выполнения операции». В таком случае сложно давать точные советы, так как устройство сервера или кластера может существенно отличаться в разных вариантах. Среди стандартных решений, которые помогают в таких случаях, можно найти перезапуск сервера, увеличение свободного места, оптимизация запросов, обновление версии.

Рис.3 На жестком диске на сервере мало места

Рис.3 На жестком диске на сервере мало места

В компаниях с большим количеством пользователей ошибка «Недостаточно свободной памяти на сервере 1С:Предприятия 8.3» возникает достаточно часто. Большой проблемой и предпосылкой к этому является недостаточный анализ необходимой производительности. Поэтому при внедрении 1С уделите большое внимание достаточной мощности серверов, чтобы в будущем не пришлось настраивать производительность в ущерб стабильности.

  

ЧессМастер

18.02.16 — 16:26

Всем доброе время суток !

Сервер 1С 8.3.7.1845

При работе периодически возникают сообщения «Недостаточно свободной памяти на сервере 1С:Предприятия». При этом настройки которые работали на сервере 8.2 и помогали решать такие проблемы (указание параметра «Интервал превышения допустимого объема памяти») что приводило к перезапуску процесса при превышении памяти на 8.3 не работают — при превышении памяти процесс не перезапускается, и перестает разрешать новые подключения. Приходиться перезапускать процесс вручную.

Как решить эту проблему ?

  

Лефмихалыч

1 — 18.02.16 — 16:28

самих-то процессов сколько? Сколько пользователей?

  

ptiz

2 — 18.02.16 — 16:31

Сервер 1С 32х-разрядный небось?

  

ЧессМастер

3 — 18.02.16 — 16:54

(1) на сервере 8.3 в отличии от 8.2 процессы не создаются.

он один.

(2) да

  

zlnk

4 — 18.02.16 — 18:31

(3) >> на сервере 8.3 в отличии от 8.2 процессы не создаются.

Да ладно!

  

Cyberhawk

5 — 18.02.16 — 18:46

(3) (4) Если в 8.3 все по умолчанию, то по 128 рыл (сеансов) на одну ИБ и по 8 ИБ на один РП… поэтому у «умолчальщиков» и не создаются :)

  

zak555

6 — 18.02.16 — 18:48

ставь ограничение 1 рабочий процесс не более 4 гб

  

Cyberhawk

7 — 18.02.16 — 19:07

  

ЧессМастер

8 — 19.02.16 — 09:32

(4) тебе скриншот привести ?

Сервер 8.2

Консоль кластера — Рабочие серверы — <имя сервера> — Рабочие процессы — щелчок правой кнопкой мыши — пункт «создать рабочий процесс» есть

Сервер 8.3

Консоль кластера — Рабочие серверы — <имя сервера> — Рабочие процессы — щелчок правой кнопкой мыши — пункта «создать рабочий процесс» нет

  

ЧессМастер

9 — 19.02.16 — 09:44

(7) почему-то не отрабатывает перезапуск процессов на 8.3

на 8.2 я ставил в свойствах кластера в разделе «перезапускать рабочие процессы» в параметре «доступный объем памяти» 2 гига. в результате когда процесс выходил за 2 гига он перезапускался автоматически.

в «интервале превышения допустимого объема памяти» ставил 600

на 8.3 при указании таких же параметров при превышении 2 гб при превышении памяти процесс не перезапускается, и перестает разрешать новые подключения. приходиться перезапускать процесс вручную.

  

tixis

10 — 19.02.16 — 10:01

(8) Разберись с настройкой 8.3, там нельзя явно указать сколько рабочих процессов, но косвенно это можно настроить.

И нефиг писать что все сломалось, пока не разберетесь в теме.

  

tixis

11 — 19.02.16 — 10:04

+(10) если не хотите сами книжки читать и искать информацию в просторах интернета, то есть курсы по оптимизации, в которых рассказывается про настройку кластера

  

ЧессМастер

12 — 19.02.16 — 10:13

(11) если вам нечего сказать кроме как «ищите в интернете там все есть» могли бы не тратить время на написание этого сообщения

меня как раз и интересует отличия настройки 8.2 от 8.2.

8.2 я прекрасно сам умею настраивать.

  

Cyberhawk

13 — 19.02.16 — 10:17

(9) Должны перезапускаться, обнови платформу.

Сервер приложений 32б или 64б?

ОЗУ в ОС сколько? Для обхода поставь у рабочего сервера 1 ИБ на процесс и 1 соединение на процесс — будет создаваться много РП, сможешь в момент пика отследить какой пользователь/код вызывает рост (если, конечно, это из-за пользователей), либо регл. задание (выключи все ненужные на время).

Как часто в день отваливаются клиентские сеансы?

  

tixis

14 — 19.02.16 — 10:21

(12), покажи скрин нгастройки кластера

  

ЧессМастер

15 — 19.02.16 — 12:04

(13) Сервер приложений 32б

поменял в свойствах сервера «количество соединений на процесс» с 128 (было по умолчанию) на 5.

сразу же создался второй процесс.

если сейчас я поставлю в параметрах кластера в «допустимый объем памяти» нужное мне значение (например 1.5 гига) и

«интервал превышения допустимого объема памяти» время перезапуска то будет отрабатывать как и в 8.2 — при превышении памяти в 1.5 гига через время указанное в «интервал превышения допустимого объема памяти» будет перезапускаться процесс ?

  

Cyberhawk

16 — 19.02.16 — 14:27

(15) «при превышении памяти в 1.5 гига через время указанное в «интервал превышения допустимого объема памяти» будет перезапускаться процесс ?»

Не совсем так: только при _постоянном_ превышении в течение заданного времени. Поэтому поставь там 10 секунд, например, и убедись.

Работа с программами, рассчитанными на массового пользователя, не всегда протекает без проблем и багов. Реагируя на поставленные задачи, система может столкнуться с ситуацией, когда обработка всего накопленного массива не представляется возможной — как правило, это происходит в процессе формирования отчетов, установки обновлений, загрузки файлов в базу данных, и т. д. Причины, из-за которых возникают неполадки, могут быть разными, однако потребность в оперативном принятии мер, помогающих восстановить нормальный рабочий ритм, остается неизменной. Одной из наиболее распространенных является ошибка 1С «Недостаточно памяти» — о том, что делать в подобных случаях, и какие методы следует использовать, чтобы исправить ситуацию, поговорим в этом обзоре.

поддержка компьютерных программ

Общее представление

Функциональная специфика операционной системы Windows, чаще всего встречающейся на компьютерах, используемых в профессиональных целях, характеризуется выделением лимитированного объема адресного пространства, которое может использоваться программным обеспечением. Дефолтные настройки выглядят совсем просто: 2 ГБ для 32-разрядной версии, и в два раза больше — для 64-битной ОС.

В процессе активной работы, с использованием сразу нескольких одновременно запущенных программ, высока вероятность появления уведомления о том, что у 1С недостаточно свободной оперативной памяти для обработки команды или выполнения операции. В лучшем случае все начинает работать очень медленно, в худшем — приложения или ОС «вылетают» без сохранения промежуточных результатов. При наличии подобной симптоматики, возникающей в ответ на выполняемые действия, в первую очередь следует озадачиться вопросом увеличения доступного адресного пространства до объема, достаточного для полноценной работы.

Решение проблемы на клиентском компьютере

Итак, для Microsoft Windows ключевым проблемным фактором обычно оказывается выход за пределы рамок, определенных базовыми настройками операционной системы. Чем выше разрядность используемой версии — тем большее количество отведено под использование, однако даже четырех гигабайт далеко не всегда бывает достаточно. Особенно если речь идет о требовательных к ресурсам приложениях, графических редакторах или громоздких базах данных, запущенных параллельно работе бухгалтерской учетной программы.

настройка ПО

Что делать, когда 1С пишет, что ей недостаточно памяти для выполнения запроса, и закрывается или вылетает вместе со всей системой? Если причина кроется в адресном пространстве — существует несколько способов оперативного восстановления нужных кондиций.

Самый простой из вариантов — окончательный вывод из конфигурации объектов, ранее уже помеченных на удаление. Это необязательно станет панацеей, однако в любом случае не будет лишним — примерно так же, как перезагрузка ПК, рекомендуемая системными администраторами в качестве первой опции при любых неполадках. Пользователь ничем не рискует, поскольку не вмешивается своими действиями во внутреннюю механику работы программы.

Вторая опция — обман системы. Да, Windows можно обмануть, и, если все сделано правильно, проблема перестанет доставлять неудобства. Речь идет о формальном переходе с 32-битной на 64-разрядную версию, за счет которого автоматически увеличивается адресное пространство, выделяемое ОС по умолчанию. Фактических, она перестроит свою работу так, чтобы большее количество оперативки могло использоваться программным обеспечением — и это как раз то, что нам нужно.

Впрочем, подобный вариант срабатывает не во всех случаях. Чтобы убедиться, что все идет по плану, следует придерживаться стандартного алгоритма действий — иначе есть вероятность ухудшить работоспособность в будущем. Последовательность операций, совершаемых пользователем на клиентском компьютере, когда диагностирована нехватка адресной памяти для 1С, выглядит следующим образом:

  1. Запуск командной строки Windows. Microsoft предлагают использовать для этого обычное меню «Пуск», либо комбинацию «горячих клавиш» Win+R — в появившейся форме достаточно ввести значение «cmd», и запустить операцию нажатием на Enter.
  2. На экране должно возникнуть новое окно с черным полем для ввода данных. В нем прописывается команда «bcdedit/set increaseuserva 3200», число в которой отображает ограничение, установленное на использование ОЗУ. В этом случае речь идет об увеличении до 3,2 Гб, что обуславливается необходимостью постепенной корректировки системных настроек.
  3. После завершения процедуры нужно перезагрузить ПК — только после этого внесенные изменения вступят в силу. Для проверки результатов потребуется повторно выполнить те же самые действия, которые ранее приводили к ошибке 1 С «Недостаточно памяти». При очередном появлении уведомления следует повторить первый и второй пункт инструкции, но теперь установив цифровое значение на 3600 или 4096. Если же запуск аналогичных программ и обработка запросов не вызывает проблем с функциональным состоянием учетного приложения — вопрос считается решенным, однако остается еще один, завершающий этап.
  4. Для восстановления ограничителя, используемого операционной системой, нужно вновь открыть командную строку, прописав в ней команду «bcdedit/deletevalue increaseuserva». Это условие исключает снижение работоспособности ОС в пользу 1С, и обеспечивает комфортную работу с другим программным обеспечением.

получение информации

Стоит учесть, что указанная инструкция помогает разобраться с экстренными ситуациями, требующими срочного проведения одной или нескольких операций в учетной программе. При наличии достаточного свободного времени и соответствующих возможностей следует перейти на полноценную 64-разрядную версию Windows. Для этого понадобится скачать установочный инструмент с официального сайта производителя, создать загрузочный носитель и указать рекомендованную разрядность.

Готовые решения для всех направлений

Склады

Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

Узнать больше

Магазины

Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

Узнать больше

Маркировка

Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

Узнать больше

E-commerce

Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

Узнать больше

Учреждения

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

Узнать больше

Производство

Повысь эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.

Узнать больше

RFID

Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

Узнать больше

ЕГАИС

Исключи ошибки сопоставления и считывания акцизных марок алкогольной продукции при помощи мобильных инструментов учёта.

Узнать больше

Сертификация

Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

Узнать больше

Инвентаризация

Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

Узнать больше

Показать все решения по автоматизации

Недостаточно памяти на диске сервера 1C

Куда более проблематичной оказывается ситуация, когда содержание отчета об ошибке свидетельствует о нехватке серверного пространства, выявляемой во время масштабного обновления или работы. Как правило, причиной становится некорректное или несвоевременное завершение отдельных процессов, инициируемых ранее запущенными программами. Накапливаясь и наслаиваясь друг на друга, они формируют массив, буквально пожирающий файл подкачки. Кроме того, проблемным фактором может оказаться активность отдельного взятого программного обеспечения, функционал которого предусматривает последовательное резервирование и высвобождение виртуальных ресурсов.

В теории с решением подобных ситуаций должно помогать специализированное ПО, однако практика показывает, что чаще всего его запуск становится причиной потери соединения и «падения» программного пакета. Если 1С Предприятие 8 (1C:Бухгалтерия, Розница и т. п.) при обновлении конфигурации пишет, что на диске сервера недостаточно памяти для выполнения задания — в системе явно нужно увеличить имеющиеся мощности. Впрочем, на первое время есть и кустарные способы устранения возникающей ошибки, позволяющие сэкономить бюджет организации.

Обходные пути

Стоит сразу сказать, что на постоянной основе прибегать к подобным вариантам не следует — они рекомендуются только в тех ситуациях, когда сроки выполнения работы, требующей увеличенного объема ресурсов, оказываются критичными. К числу опций, решающих вопрос нехватки «здесь и сейчас», относятся:

  1. Перезагрузка сервера. Да, это может показаться элементарным, но при принудительном завершении автоматически закрываются зависшие процессы, отнимающие львиную долю потенциально доступных ресурсов. Главное — предварительно позаботиться о сохранении текущих данных.
  2. Отключение и запуск рабочих циклов, генерируемых самой учетной программой. Это сокращает используемый объем, высвобождая достаточное количество памяти для действительно важных задач. В этом случае следует обратиться к квалифицированному системному администратору, обладающему навыками и знаниями для безопасной работы с консолью.
  3. Использование содержащего табличные параметры технологического журнала. Загрузка таблицы зачастую сопровождается уведомлением об ошибке, возникающим при выполнении определенных операций. Если трудности обработки вызывает «config», необходимо проверить логическую целостность конфигурации. Проверка предусмотрена функционалом 1С, и запускается в соответствующем разделе программы.

программные разработки

Еще одним фактором, обусловливающим возникновение проблем, может оказаться недостаточность места на используемом в сервере жестком диске. В современных реалиях это достаточно редкое явление, поскольку даже самые простые модификации предлагают внушительную емкость. Чаще всего свободное пространство поглощают временные таблицы, и в подобных случаях конкретного алгоритма, гарантированно устраняющего неполадки, не существует — все зависит от специфики кластера и локального местонахождения. Единственная рекомендация — использование стандартных решений, начиная с перезагрузки системы и заканчивая оптимизацией конфигурации.

Комплексный подход

Итак, когда 1С выдает ошибку, заявляя, что ей не хватает оперативной памяти — при обновлении, работе с базами или табличными массивами — порядок действий должен выглядеть следующим образом:

  1. Проверка загруженности оперативки через встроенный диспетчер задач, выявление неиспользуемых приложений и высвобождение части ресурсов. В идеале следует закрыть все ненужное, оставив только рабочие и системные процессы.
  2. По возможности — технологическое увеличение объема ОЗУ. Подобная опция доступна не всегда, однако, если есть возможность, — ей определенно стоит пользоваться.
  3. Выделение через базовые настройки дополнительной памяти, то есть увеличение значения, установленного для файла подкачки.
  4. При достаточном оперативном объеме проблемой может оказаться 32-битная версия платформы. Решение — в переходе на 64-разрядный формат.
  5. В случае адресной нехватки — запуск командной строки (выполняется под учетной записью администратора), с последующим вводом команды BCDEdit /set increaseuserva xxxx, где последние четыре знака — желаемое значение виртуального пространства, указанное в мегабайтах. Метод требует особой аккуратности, так что лучше заранее ознакомиться со справочными материалами, раскрывающими специфику работы с той или иной операционной системой. Для возврата исходных ограничений выполняется операция bcdedit /deletevalue increaseuserva.

Как увеличить количество адресной памяти

Постановка корректного диагноза позволяет перейти к выбору метода лечения. В рассматриваемой ситуации есть несколько вариантов.

программные продукты

Переход на другую платформу

Если технические возможности позволяют — стоит заняться вопросом переход с 32 на 64-разрядный формат, что автоматически приведет к увеличению пространства, доступного для работы программного обеспечения.

Варианты без замены ОС

При использовании XP, или даже более старых версий операционной системы Windows, изменение осуществляется с помощью файла boot.ini. Достаточно открыть его местоположение в корневой папке на диске C, и ввести дополнительный параметр /3Gb/userva=2900. Если на клиентском компьютере установлена Vista, либо любая другая версия — применяется вышеописанный способ взаимодействия через командную строку. При этом важно учитывать, что операция оказывает влияние не только на 1С, но и на работоспособность ОС в целом, так что в случае отсутствия знаний и навыков все же стоит обратиться за помощью к системному администратору.

Решение проблемы без изменения адресного пространства

В отдельных ситуациях восстановить работу учетной программы можно без радикального вмешательства. К числу подобных способов относятся:

  • Корректировка отчетных параметров. Когда ошибка возникает при попытке создать отчет, стоит попробовать изменить его исходные настройки — период, критерии отбора, вывод значений, и т. п.
  • Удаление ранее отмеченных справочников и документов. Высвобождение дополнительного пространства происходит за счет сокращения размеров базы, что приводит к повышению производительности.

Первый вариант обычно не требует дополнительных пояснений, а вот относительно второго стоит сделать несколько ремарок. Чтобы исключить потенциальный вред, следует предварительно позаботиться о создании актуальной копии, доступной для восстановления на случай критических ошибок. Функция по умолчанию находится в 1С в разделе резервного копирования, где указываются параметры и периодичность автоматического сохранения.

автоматизация программными продуктами

Что делать, когда на сервере недостаточно памяти

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

  • Перезагрузка оборудования.
  • Закрытие и повторный запуск процессов учетной программы.
  • Поиск проблемной таблицы через технологический журнал.
  • Проверка логической целостности конфигурации.
  • Очистка дискового пространства.

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

Нужно ли обращаться к специалистам

Значимость рассматриваемой, учитывая, что она является следствием нарушения функциональности ОС или сервера, не стоит недооценивать. Очевидно, что уровень компетенций сотрудника, выполняющего работу по восстановлению работоспособности программы, должен соответствовать сложности возникшей ситуации. Здесь все зависит от того, есть ли в штате компании квалифицированный администратор — если основные функции по обслуживанию отданы на аутсорс, то и устранять проблемы лучше с помощью привлеченных специалистов.

Заключение

Если при обновлении 1С, обмене и печати данных, тестировании базы или запуске конфигуратора возникает ошибка, указывающая на нехватку памяти — важно не только устранить промежуточное состояние, но и его первопричину. Немаловажным фактором является использование проверенного ПО. Так, решения по мобильной автоматизации, предлагаемые компанией «Клеверенс», полностью совместимы с актуальными версиями учетной программы, и сводят к минимуму вероятность технических неполадок в процессе работы.

Количество показов: 4533

Одна из самых распространенных ошибок, возникающих в процессе работы с 1С 8.3 – «Недостаточно памяти». В реальности она может происходить после множества событий – обновления, обработки больших файлов, формирования отчета, загрузки данных и прочих. Это означает, что любой администратор и разработчик 1С должен понимать суть проблемы и уметь исправлять ее. Простым увеличением оперативной памяти ПК или жесткого диска эту проблему не решить.

Решение проблемы на клиентском компьютере

Причины этой ошибки кроются в том, что в операционных системах семейства Microsoft выделяется определенный объем памяти на каждое приложение 1С. Эти значения заявлены разработчиком, компанией 1С. Для 32-разрядных систем это значение установлено в 2 Гб, для 64 – 4 Гб. Когда ПО превышает этот показатель, на мониторе возникает окно с ошибкой.

Рис.1 Ошибка
Рис.1 Ошибка

Самый простой способ избавиться от таких сообщений – удалить помеченные на удаление объекты в конфигурации. Это помогает нечасто, но избавляет от лишних колебаний. К тому же, риск этих действий минимален, поскольку не требует вмешательства во внутренние настройки Windows. Если удаление не помогло, то придется бороться другими методами.

Еще одним решением для 32-битных систем можно назвать переход на 64-разрядную версию или выделение большего количества памяти приложениям. Первый вариант намного правильнее, но иногда в силу различных причин он невозможен. Тогда остается только вариант с алгоритмом действий, показанный ниже, но пользоваться им стоит очень аккуратно – возможны существенные проблемы с работоспособностью всей системы.

Этот алгоритм достаточно прост:

  1. Откройте командную строку Windows. Воспользуйтесь меню «Пуск» или комбинацией клавиш Windows +R и введите команду «cmd»;
  2. В появившемся окне наберите команду «bcdedit /set increaseuserva 3200» (для примера увеличим ограничение до 3,2 Гб). Увеличивать ограничение стоит аккуратно и постепенно;
  3. После подтверждения успешного завершения операции в окне командной строки перезагрузите ПК и попробуйте еще раз выполнить действия, приведшие к ошибке. Если проблема не ушла и 1С по-прежнему вылетает – можете еще раз увеличить ограничение;
  4. После успешного завершения операции без ошибки в 1С восстановите ограничения Windows по умолчанию командой «bcdedit /deletevalue increaseuserva». Это необходимый шаг, чтобы ОС не ущемляла свою работоспособность в угоду 1С и другим приложениям.

Это решение позволяет выполнить операцию, которую невозможно выполнить из-за ошибки 1С «Недостаточно памяти». Пользоваться им можно только в экстренных случаях, когда операцию необходимо выполнить прямо сейчас. В других обстоятельствах лучше попробовать запустить 1С на 64-разрядной платформе и повторить операцию там.

Недостаточно памяти на сервере 1С

Намного серьезнее стоит относиться к сообщению о том, что недостаточно памяти на сервере при обновлении или масштабной работе. Проблема может быть в несвоевременном завершении процессов, запускаемых различным ПО, вследствие чего происходит «наслоение» и накопление их в виртуальной памяти. Второй источник подобной ошибки – интенсивная работа различных программ с резервированием и освобождением памяти. Существует различное ПО для решения этих проблем, но практика показывает, что оно вызывает разрывы соединений и падения 1С.

Рис.2 Недостаточно памяти на сервере
Рис.2 Недостаточно памяти на сервере

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

Конечно, постоянно их применять не стоит, но однажды они могут помочь при необходимости срочно выполнить ресурсоемкую работу. Среди популярных способов, способных помочь решить ошибку недостатка памяти на сервере, называют:

  • Перезагрузка сервера 1С;
  • Перезапуск рабочих процессов 1С, что приведет к уменьшению используемой памяти. Этот вариант подойдет только для опытных администраторов, разбирающихся в консоли администрирования сервера 1С;
  • Используя технологический журнал, найти таблицу, при загрузке которой появляется ошибка «Недостаточно памяти» при обновлении или другой операции. Если ошибка появилась при работе с таблицей «config», то выполните проверку конфигурации с флагом «Проверка логической целостности конфигурации». Найти эту функцию можно в конфигураторе в меню «Конфигурация».

Еще одна распространенная ошибка 1С возникает, когда на жестком диске на сервере мало места. Временные таблицы занимают много места, и в случае его недостатка, администратор видит ошибку «Недостаточно свободной памяти для выполнения операции». В таком случае сложно давать точные советы, так как устройство сервера или кластера может существенно отличаться в разных вариантах. Среди стандартных решений, которые помогают в таких случаях, можно найти перезапуск сервера, увеличение свободного места, оптимизация запросов, обновление версии.

Рис.3 На жестком диске на сервере мало места
Рис.3 На жестком диске на сервере мало места

В компаниях с большим количеством пользователей ошибка «Недостаточно свободной памяти на сервере 1С:Предприятия 8.3» возникает достаточно часто. Большой проблемой и предпосылкой к этому является недостаточный анализ необходимой производительности. Поэтому при внедрении 1С уделите большое внимание достаточной мощности серверов, чтобы в будущем не пришлось настраивать производительность в ущерб стабильности.

Понравилась статья? Поделить с друзьями:
  • Ошибка недостаточно свободной памяти как исправить
  • Ошибка недостаточно свободной памяти для выполнения операции
  • Ошибка недостаточно свободного места для выполнения этой операции
  • Ошибка недостаточно ресурсов памяти для обработки этой команды
  • Ошибка недостаточно ресурсов для подключения к таргету daemon tools