Главная - Новости
1с пишет недостаточно памяти и закрывается. Недостаточная мощность железа

Эта ошибка является довольно типичной для 1С 8.3, с ней сталкиваются многие пользователи.

Причины возникновения

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

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

Дело в том, что операционная система дает программному обеспечению доступ к ограниченному объему адресной памяти, как правило, этот объем составляет 2 гигабайта для тридцатидвухбитных операционных систем и 4 гигабайта для шестидесятичетырехразрядных операционных систем.

У вас есть вопрос, нужна помощь консультанта?

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

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

где числовое значение - желаемый объем памяти и нажать клавишу «Enter». После этого потребуется перезагрузка компьютера. После этого можно попробовать повторить операцию, завершившуюся ошибкой. Если ошибка повторяется, рекомендуем обратиться к специалистам.
Наши программисты будут рады проконсультировать вас и помочь.

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

Методика устранения ошибки «Недостаточно свободной памяти на сервере 1С:Предприятия».

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


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

Недостаточная мощность железа

Если в системе работает до пяти человек - тогда будет достаточно одного восьмигигабайтного компа с двумя винтами (на одном - SERVER, на втором - SQL) и дополнительно установленных фишек. Но другое дело - человек тридцать пользователей, тысячи документов первички. Тут и SQL нужно выносить в отдельный сервер, и одним сервером терминалов уже не справиться.

Нехватка памяти для лишней информации

Типовые конфигурации пытаются описывать буквально все процессы, которые только мог себе представить разработчик, пытаясь создать универсальное бухгалтерское средство под названием 1С:Предприятие. Поэтому конкретный пользователь получает дополнительный багаж в виде бездны объектов метаданных , дополнительных таблиц SQL, неиспользуемых реквизитов. Постоянная прописка и переиндексация всего этого ненужного в регистрах программы занимает длительное время и много места.

Ошибки кодирования

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

Ошибки программы

Кроме всего прочего, и это является часто чуть ли не основной причиной - программа 1С имеет неимоверное количество внутренних ошибок . Некоторые из них исправляются в последующих релизах. Этим ошибкам посвящено большое количество форумов, на которых админы, обсуждая очередные каверзы, шутя говорят, что в один эс работают, наверное, одни таджики (Джамшут и Равшан).

Так что же делать с сервером 1С

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

Перезапуск службы сервера

Самым быстрым и простым способом решения является перезапуск службы сервера. Из командной строки Microsoft Windows (cmd): для остановки выполняется команда - net stop «1C:Enterprise 8.3 (или ваша версия) Server Agent», а для запуска - net start «1C:Enterprise 8.3 (соответственно вашей версии) Server Agent». Такое решение не снимает вопрос полностью - чаще всего ошибка повторяется. Частота её повторов зависит от количества клиентов и количества рабочих процессов.

ВАЖНО. Для возможности перезапуска нужно обладать соответствующими правами.

Автоперезапуск и настройки кластера

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

Интервал перезапуска. Незадолго до завершения предыдущего запускается новый процесс rphost.exe. - На него переходят соединения от старого. Допустимый объём памяти - при превышении этой величины будет запущен секундный таймер отсчёта.

Интервал по превышению предельного объёма - при превышении таймером отсчёта этого значения будет запущен новый процесс. И на него подвяжутся соединения от старого. А старый, в свою очередь, помечается неактивным. Выкл. процессы останавливать через - по прошествии значения этого параметра после пометки рабочего процесса неактивным, произойдёт его завершение операционной системой. Если такой параметр указать равным «0» - тогда все неактивные процессы не будут автоматически завершаться.

ВАЖНО. Эта настройка характерна тем, что отключает от базы только того из клиентов, который запустил некорректный отчёт. А остальные - будут плавно перемещены к новым соединениям (без прерывания от своей базы).

Количество рабочих процессов

При перегрузке rphost.exe с фоновыми заданиями и отсутствии создания новых процессов нужно проверить настройки:

Макс. объем памяти рабочих процессов - это суммарный объем памяти для всех процессов вместе. Измеряется в байтах. При установке неправильного значения (неадекватного нормальной работе) все получат ошибку «Недостаточно свободной памяти на сервере 1с».

Безопасный расход памяти на 1 вызов - контролирует расходование памяти при вызове сервером (в байтах). При использовании вызовом большего количества чем указано - он будет завершён внутри кластера. Перезапуск его произведён не будет. А утрата сеанса не отразится на других клиентах.

Объем памяти для процессов, до величины которого сервер считается системой производительным - при достижении этого значения сервер кластера перестаёт принимать соединения. Количество информационных баз на процесс - изолирует ИБ по процессам. После изоляции информационных баз (при введении значения - «1») проблемы обычно решаются.

Количество соединений на один процесс - по умолчанию установлено значение «128». Если текущая база отличается очень большой нагрузкой от фоновых заданий, то можно уменьшить это количество, например, до «25». При таких настройках немного изменится и настройка кластера:

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

Режим распределения нагрузки - имеет два возможных варианта. Если установить «Приоритет по производительности» - то память сервера будет расходоваться больше для увеличения производительности. При выборе «Приоритет по памяти» - кластером 1С память будет экономиться.

Инструмент для работы с базой

Для оперирования с базой данных необходимо пользоваться средствами СУБД MS SQL.

Проверка конфигурации

Возможно, причина ошибка кроется в некорректной информации, содержащейся в Конфигурации. Для её проверки требуется выполнить команду «Проверка конфигурации». (Не путать с тестированием!). Перед выполнением нужно проверить установку чекбокса (флажка) - «логическая целостность». При обнаружении некорректности это будет отражено в сообщении. А ошибки будут удалены.

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

Рассмотрим более подробно варианты исправления ошибки “Недостаточно памяти” в 1С 8.3.

Способ 1. Увеличить размер адресной памяти

Существует ограничение в выделении адресной памяти для программного обеспечения операционной системой: для 32-х разрядной системы - 2 Гб; для 64-х разрядной системы - 4 Гб.

Шаг 1

Для увеличения размера адресной памяти нужно сделать следующее: запускаем командную строку с правами Администратора:

  • Пуск – Выполнить – в командной строке вводим CMD и жмем Enter:
  • Или кликните правой кнопкой мыши по кнопке Пуск и выберите командная строка (Администратор).

Шаг 2

Далее попадаем в диалоговое командное окно, где и должны набрать команду на увеличение адрес ной памяти. Введем в командной строке BCDEdit /set increaseuserva xxxx, где вместо хххх указываем объем виртуального адресного пространства в мегабайтах. Например, в 32-х разрядных системах рекомендуется 3072 Мб:

Шаг 3

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

Шаг 4

После выполнения операций лучше вернуть адресной памяти значение по умолчанию. Для этого введем в командной строке BCDEdit /deletevalue increaseuserva:

Перезагружаем компьютер.

Способ 2. Удалить помеченные на удаление документы и справочники

В платформе 1С 8.3 появилась возможность с помощью регламентного задания .

Удаление помеченных объектов позволяет:

  1. Увеличить производительность системы;
  2. Уменьшить размер базы данных.

Шаг 1. Создаем копию базы

Открываем пункт : раздел Администрирование – Настройки программы – Поддержка и обслуживание – Резервное копирование и восстановление:

Настраиваем расписание автоматического копирования базы и нажимаем Готово:

Подробнее как сделать резервную копию 1С 8.3 смотрите в нашем видео уроке:

Шаг 2. Удаляем помеченные объекты

Открываем пункт Автоматически удалять помеченные объекты по расписанию: раздел Администрирование – Настройки программы – Поддержка и обслуживание – Регламентные операции:

Настраиваем расписание автоматического удаление помеченных объектов в 1С 8.3 на удобное время. Например, на время обеденного перерыва и нажимаем Готово:

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


Поставьте вашу оценку этой статье:

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

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

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

Добавив оперативной памяти нашему компьютеру, ошибка появляется снова. В таком случае, причина кроется в ограниченном выделении адресной памяти операционной системой под программное обеспечение:

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

При работе 1С и выполнения операции, можно через Диспетчер задач следить за процессом загрузки процессора и за свободным количеством памяти. В нашем случае, при обновлении это цифра приближалась к нулю и в этот момент возникала ошибка «Недостаточно памяти». Запустить Диспетчер задач можно нажатием клавиш Ctrl+Alt+Del и открыв вкладку Быстродействие , следить за данными показателями.

Таким образом, нам необходимо увеличить размер выделяемой адресной памяти для приложений (в том числе и 1С). Это можно сделать двумя способами: перейти с 32-х разрядной системы на 64-х разрядную или увеличить выделяемое по умолчанию количество адресной памяти. Первый вариант является более правильным, но в силу некоторых причин он бывает невозможен, поэтому рассмотрим второй вариант решения проблемы.

Перечислить все ситуации, когда возникает ошибка 1С «Недостаточно памяти» (Рис.1) невозможно. Попробуем определить основные:

  • При обновлении конфигурации;
  • При запуске приложения;
  • При формировании отчета;
  • При выполнении больших расчетов (проведение документа «Расчет себестоимости», «Закрытие месяца» и так далее).

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

Что определяет размер доступной памяти

32-разрядные операционные системы имеют одну существенную особенность: независимо от объема оперативной памяти и размера файла подкачки, под работу конкретного приложения операционка выделяет только 4 Гб.

Учитывая, что половина адресного пространства виртуальной памяти выделяются под нужды самой системы, на работу приложения остается только 2Гб. При работе программы адресное пространство виртуальной памяти должно резервироваться одним непрерывным блоком. Когда нет такой возможности, выскакивает окно (Рис.1).

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

Без переустановки операционной системы существуют два варианта исправления ситуации:


Этими способами можно уменьшить адресное пространство, выделяемое под операционную систему до 1Гб, увеличив память под приложение до 3Гб.

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

Удаление строки из файла boot.ini или запуск команды с заменой параметра 2900 на 2000 возвращает систему в исходное состояние.

Важно понимать, что указанные способы – только временное решение проблемы, для окончательного её устранения необходимо перенести базу на 64-разрядную платформу.

Нехватка памяти при формировании отчета

Не очень часто, но эта ошибка возникает при возникновении отчетов. В этом случае выполнение обработки формирования табличного документа затягивается и, в конце концов, заканчивается окном, как на первом рисунке.

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

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

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

Утечки памяти на сервере

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

Рис. 3.

О причинах подобного поведения сервера хотелось бы сказать отдельно.

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

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

Решить вторую проблему можно с помощью системных утилит.

В результате этого могут:

  1. Возникать проблемы с соединением, его разрывы, падение программы;(рис.4)

Рис.4

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

Ошибки обновления

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

Первые действия при возникновении этой проблемы – запуск обновляемой базы в режиме конфигуратора и проведение её реструктуризации (пункт меню Администрирование->Тестирование и исправление), хотя лучше провести полный спектр работ по исправлению ошибок и переиндексацию таблиц.

 


Читайте:



Как купить криптовалюту EOS за рубли По их словам, эти достоинства таковы

Как купить криптовалюту EOS за рубли По их словам, эти достоинства таковы

Криптовалюта EOS входит в десятку самых востребованных среди пользователей видов цифровых денег. Описываемая платформа появилась относительно...

Что влияет на скорость работы компьютера Что зависит от процессора в играх

Что влияет на скорость работы компьютера Что зависит от процессора в играх

Здравствуй, %username%! Вряд ли кого-то удивишь тем, что игры сегодня штампуют конвейерным образом, а геймерский ПК ассоциируется просто с ворохом...

Алгоритм шифрования данных

Алгоритм шифрования данных

Encrypting file systemШифрующая файловая система это тесно интегрированная с NTFS служба, располагающаяся в ядре Windows 2000. Ее назначение:...

Как повысить производительность ПК

Как повысить производительность ПК

Многие пользователи интересуются вопросом о том, существует ли программа для увеличения ФПС в играх. Подобная утилита существует в одном образце,...

feed-image RSS