Неспецифицированная ошибка работы с ресурсом 1с недостаточно памяти

Обновлено: 08.07.2024

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

Введение

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

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Ошибка выделения памяти
HRESULT=80004005,

Изначально мне показалось, что проблема с нехваткой памяти для работы MSSQL сервера. Так что я пошел и отрегулировал ее потребление в настройках сервера. Но это не помогло. На следующий день пользователи опять периодически стали получать эту ошибку, хотя на сервере было достаточно свободной оперативной памяти. Стал разбираться дальше.

Неспецифицированная ошибка работы с ресурсом

Второй вариант текста той же самой ошибки выглядел следующим образом:

Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса GET к ресурсу /e1cib/cmi/commands:
Недостаточно свободной памяти для выполнения операции

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

Решение проблемы "недостаточно свободной памяти для выполнения операции" в 1С

В общем случае данную проблему можно решить следующим образом. Открываем консоль управления кластером, идем в раздел Рабочие серверы , выбираем свой сервер и его свойства. Меняем 2 параметра:

  • Количество ИБ на процесс.
  • Количество соединений на процесс.

Чтобы проблема ушла, вам необходимо уменьшить значения. Определить оптимальные сходу вряд ли получится. Для начала можете их просто уменьшить вдвое, поставив 4 и 128 соответственно.

Заключение

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

Если у вас медленно работает сервер 1С, читайте мою статью по его профилированию - Процесс 1С rmngr.exe грузит процессор .

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Обновились на Платформа: 1С:Предприятие 8.3 (8.3.15.1747) и понеслось:

Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
Недостаточно свободной памяти для выполнения операции

Кто как боролся, особенно на сервере 2003 ??

Использовать 64-х разрядную версию ОС и оперативную память 8Gb и больше

Тоесть я устанавливаю версию для работы в 32-х битной системе, но от меня требуют 64-х битную, это ли не косяк 1С, который они не желают исправлять?

А чего тут бороться? Написано же "недостаточно памяти".
Увеличиваете память и всё.
На 64 переходить не обязательно.

Девушка, милая, на 32 разрядной ОС ограничение в 4 ГБ. Из них ОС задействует под программы 2 и 2 оставляет для системных задач. Можно только перераспределить.

SoNik ,
судя по тексту ошибки, надо просто обрезать и настроить размер ЖР - Журнал Регистрации

Ответили же уже выше:
- уменьшите (размер) ЖР и
- увеличте размер , выделяемой под процессы 1С оперативной памяти
- удалите ненужное

Гугль сразу же выдаёт ссылки на
bcdedit /set increaseuserva

Контрольное Cоотношение Равенство пишет:

я так понимаю выделяемая память это функция: bcdedit /set increaseuserva?

а про уменьшить размер ЖР можно чуть подробнее?

Читают тему:

Мероприятия

1C:Лекторий: 25 ноября 2021 года (четверг, начало в 12:00) — Специальные механизмы в "1С:ЗУП 8" (ред. 3)

  • Где купить СОФТ
  • Вакансии фирм-партнеров "1С"
  • Центры Сертифицированного Обучения
  • Интернет курсы обучения "1С"
  • Самоучители
  • Учебный центр № 1
  • Учебный центр № 3
  • Сертификация по "1С:Профессионал"
  • Организация обучения под заказ
  • Книги по 1С:Предприятию

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

Редакция БУХ.1С не несет ответственности за мнения и информацию, опубликованную в комментариях к материалам.

Редакция уважает мнение авторов, но не всегда разделяет его.

Дизайн сайта

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

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

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

Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Ошибка выделения памяти
HRESULT=80004005,

Microsoft SQL Server Native Client 11.0: Ошибка выделения памяти

Изначально мне показалось, что проблема с нехваткой памяти для работы MSSQL сервера. Так что я пошел и отрегулировал ее потребление в настройках сервера. Но это не помогло. На следующий день пользователи опять периодически стали получать эту ошибку, хотя на сервере было достаточно свободной оперативной памяти. Стал разбираться дальше.

Неспецифицированная ошибка работы с ресурсом

Второй вариант текста той же самой ошибки выглядел следующим образом:

Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса GET к ресурсу /e1cib/cmi/commands:
Недостаточно свободной памяти для выполнения операции

Недостаточно свободной памяти для выполнения операции

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

Решение проблемы "недостаточно свободной памяти для выполнения операции" в 1С

В общем случае данную проблему можно решить следующим образом. Открываем консоль управления кластером, идем в раздел Рабочие серверы, выбираем свой сервер и его свойства. Меняем 2 параметра:

  1. Количество ИБ на процесс.
  2. Количество соединений на процесс.

Свойства рабочего сервера 1С

Чтобы проблема ушла, вам необходимо уменьшить значения. Определить оптимальные сходу вряд ли получится. Для начала можете их просто уменьшить вдвое, поставив 4 и 128 соответственно.

Количество ИБ на процесс и Количество соединений на процесс

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

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

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

Ошибка : Неспецифицированная ошибка работы с ресурсом. Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm: Недостаточно свободной памяти для выполнения операции.

Оборудование : 1С 8.3.15.1700, 1С: Бухгалтерия 8.3.2.0.66.88

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

Есть в Интернете несколько вариантов решения проблемы:

1) Увеличить ОЗУ. Ну, тут, как говорится, смотря по обстоятельствам. Однако отмечу такой факт: на компьютере, где ошибка возникает ежегодно, база рабочая весит не более 1,6 Гб, а ОЗУ стоит 16 Гб (кстати, увеличен объём в последние два года дважды - сначала с 4 до 8, а потом с 8 до 16 Гб!!). Если дело тут в памяти, то тогда как работают остальные на куда менее "объёмо-памятных" ПК?

2) Сам по себе глючный сервис /e1cib/logForm. И вроде как там стоит выбирать время, то, сё. пятое-десятое. Однако при работе на разных БД в одно и то же время бывало так, что один работает нормально, а другой - вот такое выдаёт.

Есть ещё всякие разные объяснения подобной ошибке. Мне в 5 случаях из 6 (единственный иной заключался в том, что я ещё, ничего не зная, просто сделал отчёт у себя на домашнем ПК по архивной БД) помогло следующее:

а) Урезание журнала БД. Делается это классическим способом: либо в конфигураторе, либо при закрытой базе просто удалением файлов журнала в папке, если этот журнал не жалко.

б) Проверкой и переиндексацией БД. Тут тоже можно проявить вариации: либо сделать это в конфигураторе, либо внешней утилитой (если кто сомневается, вдруг чего) chdbfl.exe.

Обе процедуры помогают (проверено мной). Понятное дело, что на очень-очень мало мощном компьютере с убитой ОС и старым ПО вряд ли и эти процедуры смогут помочь. Так что не стоит доводить всё до абсурда и утопии.

А потому: желаю всем качественного ПО и спокойной работы над поддержанием его работоспособности.

Читайте также: