Причина перерасхода оперативной памяти

1. t955938 20.12.12 11:08 Сейчас в теме
Добрый день уважаемые Знатоки!!!
Поделитесь, пожалуйста, вашим опытом. У меня проблема - хочу разобраться в причине чрезмерно большой загрузки использования системой оперативной памяти сервера.
Система MS SQL 2008 + 1c 8.1 (конфигурация очень сильно переделанная Управление торговлей). Циклический обмен данными с другими базами (расположенными не на этом сервере) организован посредством Регламентных заданий. Для этого на сервере постоянно запущены несколько экземпляров 1с. под разными юзерами. Загрузку оперативной памяти на сервере проверяю через Windows Task Manager. При запуске всей системы использование памяти минимально, но по мере поступления файлов обмена используемая помять растёт, пока не зашкаливает до придела. Если я закрываю окна всех программ, то это не приводит к освобождению памяти. Только принудительное завершение, в окне Сервисов, процессов MSSQLServer и 1с:Enterprise приводит к освобождению памяти. Я предполагаю, что в процессе циклического обмена создаются объекты и они не освобождаются после окончания обмена. Но тогда почему память не освобождается, после закрытия окна?
Подскажите, пожалуйста, как исправить положение.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
8. MrUnnamed 15 20.12.12 13:19 Сейчас в теме
(1) t955938,

как вариант перерасхода - выполнение фоновых заданий с не оптимальными запросами, съедающими всю свободную память.
2. DenisKin 20 20.12.12 11:38 Сейчас в теме
При настройке SQl Вы можете указать максимальное значение выделяемой памяти. Сколько Вы укажите столько он и займет её под свои нужды и освобождать он ее не будет, это нормальное поведение SQL
3. t955938 20.12.12 12:13 Сейчас в теме
Спасибо за подсказку. Допустим, что виной неправильное задание памяти в настройках SQL сервера. Тогда почему ресурс не освобождается после отключения всех юзеров в сета и всех процессов в 1с на сервере? Прошу обратить ваше внимание на тот факт, что величина использованной памяти начинает расти по мере поступления файлов для обмена и не снижается обратно, после завершения процесса.
4. tango 506 20.12.12 12:52 Сейчас в теме
пошукай в нете, да и на ИС было - в кластере есть галка, гасящая обожравшийся рпхост
беда, конечно, никаких гарантий, что не погасит в критический момент, но пока полет нормальный, да и что такого критического может быть в 1с?!
6. anterehin 15 20.12.12 13:08 Сейчас в теме
(4) tango,
да и что такого критического может быть в 1с?!

1) Реструктуризация базы данных при обновление(вероятность конечно маленькая, чтобы попало именно в этот момент)
2) Обработка большого объёма данных в определённый процент выполнения...(будет обидно запускать заново)
BigRemont; t955938; +2 Ответить
5. anterehin 15 20.12.12 13:06 Сейчас в теме
Хмммм а если уточнить более деталь... что именно ест память? Какой процесс? Процесс SQL сервера? Процесс Рабочего процесса сервера 1С? Или сам exe файл запущенной клиентской 1С?
7. t955938 20.12.12 13:13 Сейчас в теме
Спасибо за совет. Эту решение я знаю и обдумывал. Но от применения пока воздерживаюсь.
Хочу узнать ваше мнение. А не может ли быть причина, не в настройках сервера, а программная? Т.е. при обмене в цикле файлами, система создает объект, а затем его не удаляет. Ведь если я не включаю обмен данными память не растет вообще.
9. t955938 20.12.12 13:33 Сейчас в теме
Мне не понятно. Допустим запрос просто ужасный и он использовал всю память. После его выполнения память должна освободиться? А тут я закрываю окна всех программ запущенных на сервере, а используемая память не освобождается.
11. tango 506 20.12.12 13:41 Сейчас в теме
(9) t955938, это 1с. едим как есть
13. MrUnnamed 15 20.12.12 13:52 Сейчас в теме
(9) t955938,
rphost'ы имеют свойство при значительном росте зависать и память не отдавать)
10. FeDBuka 9 20.12.12 13:39 Сейчас в теме
Если через диспетчер задач посмотреть? Какой процесс памяти больше всего занимает?
Правильно сказали SQL ест всю память если его не ограничить. ПОпробуйте раздельно перегрузить SQL и 1С Сервер. После чего свободной памяти будет больше. Пока не понятно какой процесс ест память советы давать трудно.
12. FeDBuka 9 20.12.12 13:47 Сейчас в теме
Так же хотелось узнать почему 8.1, а не 8.2?
Если сервер 2008, то в нем есть "Монитор ресурсов" на закладке "Память" смотрим сколько и кто кушает.
14. t955938 20.12.12 14:13 Сейчас в теме
Смотрю в Windows Task Manager.
Rphost.exe 480 mb
Sqlservr.exe 301 mb
1cv8.exe 143 mb 4 процесса
Остальные процессы по мелочам. В результате память 20 gb полностью заполнена.
При попытке перезагрузить сервер SQL без перезагрузке сервера 1с, не выполняется.
Я не успеваю проверять все ваши советы.
Огромное всем спасибо!!!!!!!!!!!!!!!!!!!!!!
15. t955938 20.12.12 14:21 Сейчас в теме
В последнее время перезапускаю отдельно серверы 1c и SQL, правильно было указанно это значительно экономит память.
Но основной мой вопрос - Возможна ли причина в не удалении созданных объектов в цикле при обмене данных???? И должна ли освобождаться память, когда я закрываю окно 1с в котором задействован процесс.
16. t955938 20.12.12 14:47 Сейчас в теме
Я знаю, что определять размер занятой sql server-ом памяти из Task Manager неправильно
,также и называть Task Manager "монитором ресурсов". У меня MS SQL 2008 но найти где у него Монитор ресурсов, у меня не получается. Насколько я знаю он называется Performance Manager и должен иметь счетчик Server Target Memory.
У меня имеются пункты:
1) SQL Server Management Studio
Deployment Wizard
Reporting services configuration m
Sql Server Configaration m
SQL server error and Usage reporting
Data profile viewer
Execute package utility
Database engine tuning advisor
SQL Server profiles
17. t955938 20.12.12 15:23 Сейчас в теме
Спасибо за советы, постараюсь разобраться.
18. FeDBuka 9 20.12.12 17:50 Сейчас в теме
Монитор ресурсов http://www.oszone.net/10487/resmon
Он есть в Windows 7 и Windows 2008 извините не уточнил где искать.
19. FeDBuka 9 20.12.12 17:59 Сейчас в теме
Вот кстати статья как настроить sql 2008.
http://infostart.ru/public/65955/

Т.к. rphost обычно в Task manager показывают более менее реальный объем.
А в Task manager стоит? "Отображать процессу всех пользователей"?

Когда 1с отключаете состояние какое? очищается?

В настройках SQL стоит ограничение на то сколько может занять памяти?
Вот тут какое значение?
http://infostart.ru/upload/iblock/a17/1.jpg
20. t955938 21.12.12 09:35 Сейчас в теме
Большое спасибо!!!!!
Все понятно.
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день