Related Posts
- Получение логина и пароля техподдержки 1С из базы
- Класс для вывода отчета в Excel
- Счет-фактура для УПП
- Библиотека классов для создания внешней компоненты 1С на C#
- Акт об оказании услуг (со скидками) — внешняя печатная форма для Управление торговлей 11.1.10.86
- Прайс-лист с артикулом в отдельной колонке
в данный момент у меня похожая проблема, сервер отъедает всю доступную память, лечу это дело запуском нового процесса и остановкой рабочего, в течении 10 секунд все приходит в норму.
а этот скрипт грохает непосредственно юзверей?
Опиши будь добр, что за скрипт, — не «net start/stop»?+ 2 конечно, же нет, читать разучился…а на чем скрипт написан?на vbs .ps сегодня не мой день…(1) SergDi, да, убивает тех пользователей, которые «рушат» сервер. Если запрос на самом деле серьёзный — балансировка не произойдёт, т.к. пользователь выболняет запрос к БД… такие пользователи не балансируются. В итоге на рабочем процессе вы этих пользователей всё равно убьёте.. только вот можете не успеть… у нас просто SQL «быстрый»… и мы реально не успевали это дело остановить… а скрипт успевает 🙂
12 Гб — объем виртуальной или реальной памяти?
Скрипт проверялся на 64-битных серверах или 32-битные также проверялись?
ЗЫ у меня есть контора, которая съекономила 10 штук на 64-битном ключе и сидят на 32х 🙂
А утечки мозгов только из за пользователей бывают?
(7) SGordon1, Конечно не только… в основном из за программистов… в принципе утечки это нормальный процесс для 1С.. скрипт нужен для борьбы с «резкими» утечками… для борьбы с обычными подойдёт перезапуск процессов по расписанию…
(6) artbear, 12 ГБ конечно про виртуальную память. Скрипт работал только на 64 битных системах… я как-то с трудом себе уже представляю 32 битный сервер… Там наверное будет реботать при очень тонкой настройке… ведь 2ГБ это не так много.. они могут быть заняты и при нормальной работе пользователей… а мы будем выкидывать «ни в чём не повинных», только потому что они больше всех старались…
Это точно полезная вещь т.к.
переодически возникают такие «пожыратели» памяти.
Спасибо за разработку!
А как можно вычислить какие запросы вешают сервер?
(11) Mitri4, нуу… это уже не так просто в идеале нужно конечно включать профайлер и проверять. Но вообще Activity Monitor показывает самые ресурсоёмкие запросы. просто если запрос большой, то может быть не полным. А ещё можете не успеть «поймать» запрос — если на SQL сервере памяти много и диски быстрые, сервер 1с может раньше «рухнуть».. если данный скриптик не работает.
По моему проблема утечки памяти на 8.2 неплохо решается и штатными средствами. В свойствах кластера необходимо указать время через какое необходимо перезапускать процессы и ограничение на объем памяти «съеденной» процессом при которой происходит его перезапуск. На 8.1 можно только указать время через которое будут перезапускаться процессы (хотя пока работали на 8.1 таких проблем и не возникало).
При перезапуске процесса соединения не обрываются — они передаются другому процессу.
полезная ставлю +
(13) hrip, Это разные проблемы… проблема постепенной утечки памяти решается перезапуском. А проблема «мгновенной» — только таким образом — нужно успеть «убить» клиента, запустившего не правильный запрос…
а у меня проще. 2 batника в шедулере
например в 18.00
stop.bat — «C:Program Files1cv828.2.11.236in
agent.exe» -stop
в 18.01
start.bat — «C:Program Files1cv828.2.11.236in
agent.exe» -start
Плюсы выпрашивать нехорошо. Повышаются шансы быть заминусованным.
(16) нет, там другое, там скрипт насколько я помню, мониторит память, если он превышает лимит, то рубит процесс.
Незачем огород городить с виндовым планировщиком. Всё делается в рамках 1С. Правда только под виндой. 1Сники почему-то не сочли нужным сделать управление кластером из-под линукса.
Вот перевод код этого скрипта на язык 1С. Не проверял так как лениво.
В 1Се делаешь регламентное задание которые каждую минуту исполняет следующий код:
Показать
Соответственно любой может переписАть код под несколько кластеров и несколько рабочих процессов.
За публикацию плюс так как она обращает взор 1Сников на малопопулярную тему.
Ещё бы авторов платформы попинать за то что управление кластером не работает под линуксом и за то что фоновые задания не убиваются.
(19) Трактор, тоже можно, просто подумалось что виндовым планировщиком будет надежнее… если сервер «умирать» начнет…
Спасибо за скрипт. Выполняет свои функции, а ранее приходилось вручную проделывать это.
У меня частенько вылетал сервер 1С, сжирал всю память, залазил в своп и падал, помогала только перегрузка сервака, добавил оперативки — всё как рукой сняло!
Большое спасибо за полезную информацию.
Хотелось бы увидеть и другие статьи по данной теме.
полезная инфа, ставлю+
Попробуем
есть еще один вариант…
Process Lasso
а если обратная задача — нехватка памяти для выполнения больших запросов в отчетах пользователей — то где настраивается доступный к использованию объем памяти для rphost?
от непредвиденных — никак.
Можно только от предвиденных и предупрежденных.
(27) artichoke, Настраивается только установкой x64 сервера 1С (и Win/lin x64) и дополнительных планок памяти на сервере :). rphost ничем не ограничен в своих желаниях :).
(29)
ну почему же? есть.
Для 32-х разрядных систем Windows — применение технологии AWE с расширением PAE.
И наоборот — не выставление PAE ограничивает любой пользовательский процесс 2 Гб памяти.
(0)
я не понял, что у вас за утечки памяти — а как знаю я, самые что ни на есть утечки в 1с-сервере происходят из-за того, что какой-то пользователь запустил серьезный расчет, память отъел, а сервер по завершении расчета — память не освободил (спасибо программистам 1с).
В результате — и «старая» ненужная уже память не освободилась, и новая под новые процессы занимается.
А ваш скрипт — это управление давно есть: GetMem и FreeMem, следите, выделяете и освобождате память.
А то, что у вас следит за размером — так просто не дадите пользователю сделать важный отчет. Только и всего 🙂
(30) AlexO, 3ГБ PAE — не сильно спасёт. а AWE должна поддерживаться приложением по-моему.
(31) AlexO, Нет, это не утечки памяти. Утечки памяти это как правило медленная деградация и с ними можно бороться. Отчет который может занять 3ГБ памяти сервера — это ошибка программиста 1С, и за такие отчеты его надо бить (больно бить).
По поводу GetMem и FreeMem искренне надеюсь что вы имели ввиду функции (вроде даже не C… паскаль какой-то), а не одноименные программы, тогда ваша фраза хотя бы не лишена смысла. Но нам то они как бы ничем не помогут… если только исходный код платформы раздобыть :)))
Для 8.3 уже не актуальна публикация. Как все перейдут сниму. Появились нормальные средства управления памятью.
мдамс, такая же проблем есть. стоит попробовать