8.х Недостаточно памяти на сервере 1С:Предприятия

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем ФДУЧ, 15 ноя 2007.

  1. allx6666
    Offline

    allx6666

    Регистрация:
    1 сен 2008
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    У меня аналогичная проблема,
    есть в Win2003+1c8.1+MsSQL2005 4гб памяти, объем базы 1.5 Гб в *.dt формате.
    Но я понял вроде в чем проблема вот только незнаю как её решить, может кто-то поможет с решением, когда пытаешься произвести выгруз./загрузку (*.dt формат), выдает ошибку "Недостаточно свободной памяти на сервере 1с"
    У меня по дефолту MsSQL-сервер под процесс выделил 2гб памяти, объем можно изменять max-знач. min-знач.,0-динамическая память, все это можно посмотреть в св-ве MsSQL-сервера.
    Вот только я никак не пойму почему если стоит 0-динамическая память, он не хочет освобождать её.
    Вот отсюда и проблемы с памятью под 1с, а 1с здесь вовсе непричем это проблемы чисто MsSQL-сервера и его работа с адресным пространством.
  2. foogoo
    Offline

    foogoo

    Регистрация:
    26 апр 2008
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Причем тут SQL, если ясно сказано, что памяти не хватает на сервере 1С?
  3. Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Как я писал выше, проблему с ошибкой про нехваку памяти на сервере 1С решил.

    Однако в сети оставалось 2 клиентские машины, на которых при выводе печатной формы (например, в УТ, ТОРГ-12) выводится сообщение "Недостаточно памяти". В момент ошибки процесс 1С8.exe забирает под себя более 50% ресурса процессора.

    Обновил платформу с 8.1.11.67 на 8.1.12.98. На одной машине (более старой) ошибка более не появляется, а на другой (совсем новой) - осталась.
  4. Demiurg
    Offline

    Demiurg Опытный в 1С

    Регистрация:
    1 дек 2007
    Сообщения:
    97
    Симпатии:
    0
    Баллы:
    26
  5. Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Интересные ссылки, спасибо. Однако, проблема с серверными процессами rphost и "утечкой памяти" в связи с их работой решилась переносом служб сервера 1С на другую машину. Теперь вскрылась казалось бы такая же проблема на клиентских машинах. Однако настораживает тот факт, что процесс 1cv8.exe не набирает память под себя (она остается прежней), а пытается завладеть максимумом ресурсов процессора.
  6. Mark768
    Offline

    Mark768 Опытный в 1С

    Регистрация:
    18 май 2007
    Сообщения:
    158
    Симпатии:
    1
    Баллы:
    29
    Есть у меня серьезные основания полагать, что причина ошибки "Недостаточно памяти" кроется в версии FrameWork. Вот что сподвигло меня на эту мысль:

    Есть у меня в сети клиентская машина под руководством XP, которая имела такую ошибку. При очередном обновлении Windows обновился и FrameWork. Ошибка исчезла.

    Есть у меня другая клиентская машина под XP, на которой не было этой ошибки. Однажды, при установке обновления Windows, включая FrameWork, произошел сбой, и, видимо, FrameWork встал криво. При обновлении на этой машине платформы 1С с 8.1.12.98 на 8.1.12.101 программа установки уведомила меня, что у Вас была неудачная попытка обновления FrameWork и типа я сам (!) сейчас откачу и платформу и FrameWork к прежней версии, после чего повторите установку платформы. Из чего я сделал вывод, что платформа активно использует FramrWork в соей работе.
  7. kera
    Offline

    kera

    Регистрация:
    28 янв 2009
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    понимаю что тема старая, но может кому и пригодиться. мне помог рестар sql сервера и службы 1с. когда sql работает, то со временем при сложных запросах, забирает под себя кусок памяти и не высвобождает(так устроен). мне помогло поднятие просто другого сервака и загрузка туда. а потом просто бэкап с рестором.
  8. zX5
    Offline

    zX5

    Регистрация:
    21 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    А мне НЕ помогло следующее. Прочитал посты выше, где было сказано, что возможно проблема в конфигурации. У меня стояла БП 1.16.8.3. Я обновился до 1.6.15.5. Думал может поможет. Не помогло. Но отрицательный результат, тоже результат. Имейте мой опыт ввиду.
  9. zX5
    Offline

    zX5

    Регистрация:
    21 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    НЕ помогло также и обновлении версии postgresql с 8.1.5-12.1C до 8.1.5-14.1C. Попробую обновить версию postgresql до версии 8.3.3-2.1С. Помоему это последняя из доступных подходящих для 1С версий.
  10. zX5
    Offline

    zX5

    Регистрация:
    21 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    НЕ помогло также и обновлении версии postgresql с 8.1.5-14.1C до 8.3eter-8.3.7.
    Также обновил платформу до версии 8.1.13.41 - тоже не помогло. Уже не знаю что и делать.
  11. zX5
    Offline

    zX5

    Регистрация:
    21 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Поставил самую самую версию postgresql 8.3.3-2.1C - не работает.
  12. zX5
    Offline

    zX5

    Регистрация:
    21 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
  13. zX5
    Offline

    zX5

    Регистрация:
    21 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Проблему я решил. Добавил дополнительных 256 мб памяти (было 128). Надо заметить, что базу с первого раза базу залить не удалось. Выскочила другая ошибка о нехватке памяти. Но со второго раза все пошло.
  14. Yoda
    Offline

    Yoda Опытный в 1С

    Регистрация:
    5 сен 2008
    Сообщения:
    120
    Симпатии:
    0
    Баллы:
    26
    Установил "Рабочие процессы перезапускать через" = 86400
    "Выключенные процессы останавливать через" = 86400
    в итоге получил через 2 дня вместо 2 х процессов 4, на 2 первых висят по 2 непонятных пользователя. Как сделать так чтобы старые процессы останавливались ,а "неугамонные" пользоваетели перебрасывались на новые?
  15. Mikas
    Offline

    Mikas

    Регистрация:
    9 сен 2009
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Решение большинства проблемы для платформы на Window Server:
    нужен WinServer на платформе x64, если уже есть х86 то:

    оптимизация системы (после выполнения настроек ТРЕБУЕТСЯ перезагрузка сервера)
    0! оспользовать на сколько возможно быстрые жесткие диски!
    1. (только для х86) если на сервере более 4Гб оперативной памяти - в файле c:\boot.ini после /fastdetect добавить /PAE /3Gb
    2. (только для х86) в том же c:\boot.ini обязательно проверить включен ли DEP /noexecute=optin (без него не работает 36 битный драйвер адресации памяти для х86 систем - соотвествтенно проблемы с адресацией памяти!)
    3. (для х64 и х86) на всех разделах установлена файловая система NTFS (как конвертировать существующие диски без потери данных средствами выполнить - cmd - convert /? знают даже младенци)
    4. (для х64 и х86) убедиться что максимально возможный размер виртуальной памяти соответсвует рекомендациям системы (для х86 не более 4096 Мб на 1 раздел сервера * на количество разделов - не скупитесь)! реальный размер виртуальной памяти может и будет меньше максимально возможного.
    5. (для х64 и х86) запускать службу SQL и агента сервера 1С от имени одного и того-же пользователя, назначить этому пользователю в локальных политиках РАЗРЕШЕНИЕ на закрепление cтраниц в памяти (пуск - выполнить - secpol.msc /s - локальные политики - назначение прав пользователей)
    6. (ТОЛЬКО для х86 + MS SQL 2000/2005 + БОЛЕЕ 4Гб ОЗУ) в настройках распределения памяти в MS SQL Server ВКЛЮЧИТЬ использование AWE.
    7. (для х64 и х86) в MS SQL 2005 убедиться, что для параметра locks установлено значение 0 (selftuning). для MS SQL 2000 убедиться, что для параметра locks установлено правильное значение (отсутствуют предупреждения о недостаточном количестве блокировок для MSSQLSERVER в Управление компьютером - Просмотр событий - Приложение!

    описаные действия помогут получить доступ к областям памяти выше 4 Гб на х86 системах, разрешить использование 3,7Гб ОЗУ (физической+виртуальной) для одного запущеного процесса на х86 системах (гораничивается размером виртуальной машины в ОС для штучного процесса от MS), оптимизировать требования к ОЗУ для MS SQL 200х, оптимизировать обмен страничами памяти между физической и виртуально областями. после того как вроде производительности ЦП и ОЗУ достаточно и все блокировки оптимизированы - 1С в файловых и серверных вариантах всегда упирается в параметр IOPS дисковой системы (операции ввода/вывода в секунду)

    оптимизация сервера 1С (после выполнения настроек ТРЕБУЕТСЯ перезагрузка сервера)
    0! (для х64 и х86) на сервере 1С добавить(уменьшить) количество рабочих процессов до количества ядер (физических и виртуальных hyper-threading) - это перераспределит память между рабочими процессами.
    1. (для х64 и х86) в Диспечере задач перейти на вкладку процессы и кнопнуть меню Вид - Выбрать столбцы - Объём витруальной памяти (помните, когда указывается, что рабочий процесс может использовать не более 2Гб памяти = физической+вируальной).
    2. (для х64 и х86) В ЧАС ПИК, КОГДА МАКСИМУМ СОЕДИНЕНИЙ в диспетчере задач перейти на вкладку Быстродействие и следить за параметром доступной физической памяти! при достижении 200000 (200Мб) и ниже ОС занимается фрагментацией памяти и съедает всё процессорное время - выход один, наращивать ОЗУ.
    3. (для х64 и х86) в настройках кластера 1С задать перезапуск рабочих процессов раз в сутки (86400 секунд).
    4. (для х64 и х86) программистам заниматься отладкой блокировок конкретно для вашего предприятия.

    описаные действия помогут уйти от большого размера процесса rphost.exe, распределить клиентские подключения на разные процессы и повысить отказоустойчивость кластера 1С, перезапуск рабочих процессов избавит от простоя блокированной ОЗУ из-за утечек памяти в процесса 1С.

    Чесно говоря с проблемой нехватки памяти ниразу не сталкивался.

    2 х Xeon 5310 2.0 GHz, 8Gb FB RAM, SAS RAID. в среднем на этом сервере имею единомоментно 45-50 процессов 1Cv7, 35-40 процессов 1Cv8 и 230-250 процессов всего. Подумываю поставить ещё 8Gb RAM.
  16. jon
    Offline

    jon Опытный в 1С

    Регистрация:
    4 сен 2006
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    В файловом варианте снял с поддержки, выгрузил, загрузил в Postgres, все ок.
  17. otzi
    Offline

    otzi

    Регистрация:
    12 авг 2010
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    :unsure: Уже месяц бьюсь с сервером. произвел все манипуляции уже, прописал pae, включил awe, добавил процессов в 1С сервере, и сервер мощный, hp с двумя 4-х ядерными ксеонами и 12 гигами оперативки, стоит sql2000 и винда 2003. Но 1С как тупила так и тупит, при запуске сервера начинает работать шустренько и постепенно начинает тупить, доходит до того что карточка абонента открывается около 3-х или 4-х минут, в базе всего 88000 абонентов. В диспетчере задач показывает что sql берет 1,7 гб а процессы по 120 метров и не больше. Помогите кто может, где ему забивает память или почему он не хочет брать больше памяти? или что с ним делать?
  18. sharik1c
    Offline

    sharik1c Опытный в 1С

    Регистрация:
    7 июл 2010
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Не важно сколько ядер, 1с умеет работать только содним ядром (К ПРИМЕРУ: 8.1 И Конфигуратор, И Предприятие прописаны на одном хвосте, ПОРТ №2 - Предприятие и Конфигуратор работают на 1 ядре; 8.2 Конфигуратор и Предприятие прописаны на разных хвостах, ПОРТ №1 - при работе с Конфигуратором работает 1 ядро, с Предприятием другое.
    С ОЗУ у 1с вообще БОЛЬШИЕ проблемы (отжирает особенно с временными таблицами в запросах и с некорректными запросами), помогает только регулярная перезагрузка сервера (мне хватает раз в неделю)
    Обзор производительности v8 от 1с производительность
  19. larryh
    Offline

    larryh

    Регистрация:
    17 авг 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Выноси SQL на отдельный сервак (и предпочтительней на x64) и будет тебе счастье. Туда же 1С сервер ставишь. А иначе будешь и дальше мудохаться...

    Проблема в том, что x86 не может нормально работать с объемами больше 4 гигов. SQL обльше 2 Гиг не может взять, с AWE 3 Гига. А операционке тоже надо памяти для работы, ну и программы тоже хотят...

    Это напоминает коммуналку, где все одновременно толкутся на маленькой кухне и грузытутся за место... Хотя площадь квартиры в несколько раз больше, но все могут и хотят жить только в маленькой кухонке... А остальные комнаты так и стоят пустые... ;-)

    Особенности архитектуры x86, однако. :-(
  20. larryh
    Offline

    larryh

    Регистрация:
    17 авг 2010
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    На одном серваке x64 можно и терминалы запустить и SQL и 1С... Но там свои проблемы будут...

Поделиться этой страницей