Неспецифицированная ошибка работы с ресурсом 1с недостаточно памяти
Недавно столкнулся с неприятной ошибкой на одном из старых серверов с 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 переходить не обязательно.
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,
Изначально мне показалось, что проблема с нехваткой памяти для работы MSSQL сервера. Так что я пошел и отрегулировал ее потребление в настройках сервера. Но это не помогло. На следующий день пользователи опять периодически стали получать эту ошибку, хотя на сервере было достаточно свободной оперативной памяти. Стал разбираться дальше.
Неспецифицированная ошибка работы с ресурсом
Второй вариант текста той же самой ошибки выглядел следующим образом:
Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса GET к ресурсу /e1cib/cmi/commands:
Недостаточно свободной памяти для выполнения операции
После этого я уже понял, что проблема не в MSSQL сервере, а в самой 1С. Поиск в интернете и анализ ситуации на сервере привел к пониманию проблемы. Суть ее вот в чем. Сервер 1С создал рабочий процесс rphost, который обслуживает подключения к базам данных. В моем случае сервер 1С 32-х битный, так что он ограничен по максимальному использованию памяти одним рабочим процессом.
Решение проблемы "недостаточно свободной памяти для выполнения операции" в 1С
В общем случае данную проблему можно решить следующим образом. Открываем консоль управления кластером, идем в раздел Рабочие серверы, выбираем свой сервер и его свойства. Меняем 2 параметра:
- Количество ИБ на процесс.
- Количество соединений на процесс.
Чтобы проблема ушла, вам необходимо уменьшить значения. Определить оптимальные сходу вряд ли получится. Для начала можете их просто уменьшить вдвое, поставив 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.
Обе процедуры помогают (проверено мной). Понятное дело, что на очень-очень мало мощном компьютере с убитой ОС и старым ПО вряд ли и эти процедуры смогут помочь. Так что не стоит доводить всё до абсурда и утопии.
А потому: желаю всем качественного ПО и спокойной работы над поддержанием его работоспособности.
Читайте также: