Регистрация...

Eserv Forum / E2 / Eserv 2 support / Растет виртуальная память

imported // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Столкнулся с проблемой. что есть: eserv 2.99 (3517), win2k sp4.
Что происходит: за сутки виртуальная память занимаемая eserv возрастает на 45 Mb, за две недели она заканчивается.
Вопрос: Где искать?
 
Комментарии к этой версии (15.03.2007 17:49) [~client] 5fa1174d
АвторДатаТекстtags
pig15.03.2007 18:15
А как ведут себя при этом счётчики потоков и хэндлов? Тоже растут?
imported
client16.03.2007 13:23
pig пишет: А как ведут себя при этом счётчики потоков и хэндлов? Тоже растут?


Имеется ввиду это:
http://slil.ru/24088475

Я думаю Eserv не закрывает порты. Т.к например ночью активности нет. При работе Eserv, outpost выключен всегда.

http://slil.ru/24088481

С уважением жду ответа.
imported
pig16.03.2007 14:17
client пишет:
pig пишет: А как ведут себя при этом счётчики потоков и хэндлов? Тоже растут?


Имеется ввиду это:

Это чистое. Или просто свежезапущенный?

client пишет: Я думаю Eserv не закрывает порты. Т.к например ночью активности нет. При работе Eserv, outpost выключен всегда.

Если нет зависших потоков, то и порты дожны быть закрыты. Может, Outpost, даром что выключен (резидент-то продолжает болтаться), удерживает их?
imported
client20.03.2007 09:42
pig пишет:
client пишет:
pig пишет: А как ведут себя при этом счётчики потоков и хэндлов? Тоже растут?


Имеется ввиду это:

Это чистое. Или просто свежезапущенный?

Проработал приблизительно 2 суток.

client пишет: Я думаю Eserv не закрывает порты. Т.к например ночью активности нет. При работе Eserv, outpost выключен всегда.

Если нет зависших потоков, то и порты дожны быть закрыты. Может, Outpost, даром что выключен (резидент-то продолжает болтаться), удерживает их?


С списке процессов outposta нет. Для чистоты эксперимента удалить outpost?
imported
pig20.03.2007 10:35
В составе Outpost ещё и драйверы есть, их в списке процессов не видно. Так что попробуйте полностью удалить.
imported
client20.03.2007 11:37
Понял спасибо. Пошел удалять, о результатах обязательно сообщу.
С уважением.
imported
DeBuck22.03.2007 10:59
client пишет: за сутки виртуальная память занимаемая eserv возрастает на 45 Mb, за две недели она заканчивается.

У меня была (и есть) аналогичная ситуация ...
Разобраться не удалось.
Пришлось в планировщик задач винды прописать ежедневное задание на ночной перезапуск есерв.

Но вылезла другая проблема: если кто-то получает почту по медленному каналу (gprs, dialup) и в это время происходит перезапуск ЕСЕРВа, то сообщения в ящике этого пользователя теряются (в логах комманд клиента на удаление писем тоже нет).
imported
client22.03.2007 13:01
DeBuck пишет:
Но вылезла другая проблема: если кто-то получает почту по медленному каналу (gprs, dialup) и в это время происходит перезапуск ЕСЕРВа, то сообщения в ящике этого пользователя теряются (в логах комманд клиента на удаление писем тоже нет).


Вот по этому я и перестал, перезапускать Eserv.

ОФФ: Наблюдаю за Eserv, после удаления outpost. через 3 дня сообщу.
imported
client23.03.2007 13:48
Пока так: http://slil.ru/24124758
imported
pig23.03.2007 16:00
Это в каких попугаях VM меряется?
imported
client23.03.2007 17:51
pig пишет: Это в каких попугаях VM меряется?


Да вроде в килобайтах.
imported
pig23.03.2007 18:03
Тогда много. Пишите запрос в техподдержку.
imported
client23.03.2007 18:18
pig пишет: Тогда много. Пишите запрос в техподдержку.


А как его написать, чтобы обязательно помогли?
Ведь тема в форуме уже поднималась ранее.

http://forum.etype.net/viewtopic.php?t=1514&highlight=сукно

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

Включу планировщик и все будет как последние 3 года. )
imported
admin27.03.2007 02:05
Незакрытых утечек в Eserv/2 нет. Неиспользуемые порты он закрывает, память освобождает, файлы закрывает.

136мег при всего 16 потоках — это, конечно, много. Надо разобраться.

"Чтобы обязательно помогли" нужно прислать для начала Eserv.ini, список plugin'ов (если есть), текущий log\*eserv.log. Информацию о "внештатных" (не-MS) резидентах — firewall'ах, антивирусах.

Отчет по портам надо делать netstat'ом, а не аутпостом. И желательно не скриншотить netstat, а переправлять в файл (тогда над отчетом можно делать действия, в частности сортировать и фильтровать). А вот отчет по памяти, потокам и хэндлам — лучше скриншот taskmgr чем отчет pslist (в pslist баги). У Руссиновича есть другой полезный инструмент — ProcessExplorer, он в частности может рассказать, куда уходят хэндлы (но не надо его скриншотить, он в файл умеет сохранять).
imported
client27.03.2007 10:28
Все ясно спасибо.
Куда писать?
imported
pig27.03.2007 11:38imported
DeBuck09.06.2007 17:01
По поводу виртуальной памяти есть 2 подозрения:
  1. антивирус КАВ
  2. незакрытые порты
Подробнее:
  1. КАВ, проверяя почту периодически валит есерв.При этом пишется e.log c упоминанием оного...Для локализации трабла почтовую часть Есерва заглушил (временно).
  1. После 2-3 дней работы http-прокси процесс есерва начинает весить около 200МБайт...Кол-во хендлов увеличивается до 2500-3000.Болтается множество незакрытых TCP соединений в состоянии TIME_WAIT (очень много с s1.mail.ru).Пронаблюдал еще онин интересный момент: когда я поднял приоритет процесса eserv.exe с 10 до 13 (process explorer-ом) количество отъедаемой памяти резко снизилось (с 197 до 103Мб).
Если у кого наблюдается что-то схожее, плз, опишите!
imported
ac09.06.2007 17:55
Ничего удивительного, что при такой настройке firewall, какую вы привели, порты не закрываются (потверждения на закрытия фильтруются firewall'ом, вот эти коннекты и зависают в tcp/ip стеке — CLOSE_WAIT — это и есть "ожидание подтверждения закрытия").
imported
ac09.06.2007 18:01
DeBuck пишет:
Болтается множество незакрытых TCP соединений в состоянии TIME_WAIT (очень много с s1.mail.ru).

На скриншоте, который вы support прислали — с s1.mail.ru не TIME_WAIT, а CLOSE_WAIT, описанный выше.
imported
DeBuck09.06.2007 18:27
ac пишет: Ничего удивительного, что при такой настройке firewall, какую вы привели, порты не закрываются (потверждения на закрытия фильтруются firewall'ом, вот эти коннекты и зависают в tcp/ip стеке — CLOSE_WAIT — это и есть "ожидание подтверждения закрытия").

Почему потверждения на закрытия фильтруются firewall'ом?

Они же приходят на порты открытые ЕСЕРВОМ... А ЕСЕРВ.ЕКЗЕ файерволом не прикрывается СОВСЕМ (стоит в исключениях).
Есть IMHO только один вариант — есерв сам закрывает эти порты раньше времени (или закрывает совсем не те порты, что должен , что объясняет 10054 в логах).
И тогда ответы, идущие в никуда, фильтруются FW.
imported
ac09.06.2007 19:00
> Почему потверждения на закрытия фильтруются firewall'ом?

Потому что вы его так настроили, судя по логу firewall'а.
Впрочем, в этом случае более вероятны ошибки 10060 (таймаут), а не 10054.

> Они же приходят на порты открытые ЕСЕРВОМ... А ЕСЕРВ.ЕКЗЕ
> файерволом не прикрывается СОВСЕМ (стоит в исключениях).

Лог, который вы привели — от встроенного в Windows пакетного фильтра, он не обращает внимания на исключения EXE, которые появились только в прикладном Windows Firewall в SP2.

> Есть IMHO только один вариант — есерв сам закрывает эти порты
>раньше времени (или закрывает совсем не те порты, что должен,
> что объясняет 10054 в логах).

Если Eserv сам закрывает сокет, то никаких 10054 в логе никак не появится, т.к. уже несуществуюший сокет может дать только ошибку "6" — "нет такого хэндла". 10054 обозначает буквально следующее "Удаленный хост принудительно разорвал существующее подключение" (из официальной расшифровки, выдаваемой Windows).
Это не так чтобы реальная проблема (любой из сторон) — это означает, что не было взаимосогласованного чистого закрытия (graceful close в терминологии сокетов), а было "ускоренное" закрытие (в данной случае не Eserv'ом, а второй стороной или firewall'ом).
imported
DeBuck11.06.2007 13:52
ac пишет: >
> Они же приходят на порты открытые ЕСЕРВОМ... А ЕСЕРВ.ЕКЗЕ
> файерволом не прикрывается СОВСЕМ (стоит в исключениях).
Лог, который вы привели — от встроенного в Windows пакетного фильтра, он не обращает внимания на исключения EXE, которые появились только в прикладном Windows Firewall в SP2.

А вот тут вы ошибаетесь.
Лог от Windows Firewall, встроенного в Windows Server 2003 SP2 и исключения он отрабатывает нормально...
imported
DeBuck11.06.2007 13:55
Сейчас FW отключен совсем.
И Есерв опять упал, переев памяти...
imported
ac12.06.2007 01:22
Прямо беда. Дежавю... Был один случай пару месяцев назад, где отключение вражеских программ не помогло Eserv/2, но пользователь пропал на половине тестирования ситуации. Если не сложно, такой тест:

http://www.eserv.ru/download/test_proxy.rar нужно выполнить на вашем Eserv'е. Для теста требуется кроме прокси Eserv'а доступный локальный веб-сервер (можно, например, веб-сервер Eserv или acWEB из Eserv/3 запустить на другой машине в локальной сети).

При запуске test_proxy.exe по умолчанию работает через прокси localhost 3128 и обращается к URL http://localhost:3140/test.txt
Можно менять опциями ком.строки:
-s имя_машины_с_прокси_сервером
-p порт_прокси_сервера
-url http://к_какому_url'у_обращаться

Запустите, пожалуйста, и сообщите, какие числа тест выведет в конце выполнения (последние пару строк) и приведите скриншоты taskmgr про потребление ресурсов Eserv до и после теста (в taskmgr в меню 'выбор столбцов' выберите счетчики хэндлов, потоков, памяти).
imported
ac12.06.2007 01:29
DeBuck пишет: Лог от Windows Firewall, встроенного в Windows Server 2003 SP2 и исключения он отрабатывает нормально...

Да, лог в нем такой же. Но значит исключения на тот момент не обрабатывались. Ведь в приведенном вами логе информация о блокировке доступа к сайтам.
imported
DeBuck12.06.2007 21:38
ac пишет: http://www.eserv.ru/download/test_proxy.rar нужно выполнить на вашем Eserv'е.

Выдал:
932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 -18031

Скриншот диспетчера задач в суппорте.
imported
DeBuck12.06.2007 23:32
Предыдущий пост не актуален.
Тест не отработал из-за включенной авторизации.
Результат второго прогона:
940 941 942 943 944 945 944 945 946 947 948 949 950 946 947 948 949 950 951 952 951 952 953 954 955 956 957 958953 954 955 956 957 958 959 959 960 961 962 963 964 960 961 962 963 964 965 966 965 966 967 968 969 970 971 967 968 969 970 971 972 973 972 973 974 975 976 977 978 979 974 975 976 977 978 979 980 981 980 981 982 983 984 985 986 987 982 983 984 985 986 987 988 989988 989 990 991 992 993 9 94 990 991 992 993 994 995 995 996 997 998 999 -136843 996 997 998 999 -136703

Есерв во время прогона заткнулся...
Его работа восстановилась после закрытия окна программы test_proxy
imported
DeBuck13.06.2007 11:23
По поводу того что
Не все так плохо. 1.5ГБ - общий доступный ее объем. :-)
я все больше не уверен в справедливости своих слов.
Тут нужно искать-читать доку к process explorer-у... В хелпе подробности понятия Virtual Size не расписан.
И что такое Page Faults и Page Fault Delta?
imported
ac13.06.2007 21:16
Здесь баг в test_proxy вылез В сапорте выдал новый.
imported
client14.06.2007 13:56
Прямо беда. Дежавю... Был один случай пару месяцев назад, где отключение вражеских программ не помогло Eserv/2, но пользователь пропал на половине тестирования ситуации.


Извиняюсь да пропал.
Все таки интересно чем это закончится.
imported
DeBuck19.06.2007 17:56
Буду тестить 23-24 июня...
imported
client17.11.2008 11:57
Новая информация по проблеме:
При отключении кэширования "рост" виртуальной памяти прекращается и Eserv не "слетает".
imported
ac17.11.2008 13:49
Антивирус и firewall сейчас отключены?
imported
client17.11.2008 14:29
ac пишет: Антивирус и firewall сейчас отключены?


Их нет.
imported
ac19.11.2008 15:41
Ок, уточнил (вы раньше говорили про Outpost).

При включенном кэшировании и росте потребления памяти — растет ли число потоков и хэндлов процесса Eserv (посмотреть можно в taskmgr) и число активных соединений (посмотреть можно в netstat).
imported
client20.11.2008 10:27
ac пишет: Ок, уточнил (вы раньше говорили про Outpost).

При включенном кэшировании и росте потребления памяти — растет ли число потоков и хэндлов процесса Eserv (посмотреть можно в taskmgr) и число активных соединений (посмотреть можно в netstat).


Ясно. Помониторю недельку. Доложу.
imported
client01.12.2008 13:00
До включения кэширования работа более 7-ми суток:

Память: 8200 кб
Вирт. память: 7552 кб
Дескрипторы: 1209
Потоки: 17

После включения кэширования:

Память: 6500 кб
Вирт. память: 5800 кб
Дескрипторы: 150
Потоки: 19

через сутки

Память: 80900 кб
Вирт. память: 82900 кб
Дескрипторы: 1100
Потоки: 18

через двое суток Eserv вылетает. далее через 2 суток:
Память: 73844 кб
Вирт. память: 94500 кб
Дескрипторы: 6236
Потоки: 22

Вот такая ситуация.

Добавлю: через 13 суток без кэширования:
Память: 20600 кб
Вирт. память: 21500 кб
Дескрипторы: 18500
Потоки: 62
imported
pig01.12.2008 14:38
Похоже, кто-то ему файлы в кэше блокирует. Поток срывается, а открытый хэндл файла остаётся.
imported
ac01.12.2008 14:50
Но вот здесь видно, что и без увеличения числа хэндлов память растет вдесятеро:
Память: 8200 кб
Вирт. память: 7552 кб
Дескрипторы: 1209
Потоки: 17

После включения кэширования: через сутки

Память: 80900 кб
Вирт. память: 82900 кб
Дескрипторы: 1100
Потоки: 18

Притом что в Eserv/2 allocate- редкое явление. Надо будет потрассировать немного, выдам тестовую версию.
imported
DeBuck09.12.2008 20:51
ac пишет: выдам тестовую версию.

Плз, напишите номер билда, в котором будете бороться с обсуждаемой бедой.
imported
client23.12.2008 16:17
добавил, чуть статистики
imported
client27.01.2009 12:14
надежда еще есть.
imported
client12.02.2009 14:07
Вопрос: а будут исправлять?
imported
ac12.02.2009 14:39
Плохо, что вы с test_proxy тогда не испытали. Сейчас на подготовку тестового комплекта нужно много времени. Постараюсь выслать сегодня ночью.
imported
client12.02.2009 21:50
ac пишет: Плохо, что вы с test_proxy тогда не испытали. Сейчас на подготовку тестового комплекта нужно много времени. Постараюсь выслать сегодня ночью.


Готов проделать test_proxy.
imported
ac13.02.2009 08:57
test_proxy.rar положил на сервер на прежнее место (как его использовать — тут выше было написано).

Но лучше и проще запустить тестовый комплект, который я сейчас подготовил:

  1. Замените Eserv.exe (2.99) на этот: http://www.eserv.ru/download/Eserv_3545.rar, запустите, отключите в нем каскадирование, если есть (т.к. локальное тестирование), порт прокси должен быть 3128.
  2. Распакуйте в отдельный каталог этот комплект: http://www.eserv.ru/download/proxy_test_web1.rar , запустите там test.bat. Он запустит локальный веб-сервер и остановится на паузе (если firewall тут возмутится, что acweb.exe открывает порты, разрешите открыть). Потом нажмите ввод, должны выскочить два консольных окна с бегущими цифрами.
  3. Когда дощелкают до сотни и успокоятся, закройте эти консольки, остановите acWEB, потом упакуйте acWEB.log и Eserv2\log\0213http.log и вышлите их на support@eserv.ru. Можно повторить два раза — с включенным и выключенным кэшированием в прокси, чтобы нашлась разница. Размеры памяти и к-во хэндлов выписывать не обязательно, acWEB сам должен справиться — у него спец.конфиг для этого.
imported
client13.02.2009 17:56
Хорошо. На следующей неделе проделаю.
imported
Работает на Eserv/5.05555 (05.06.2016)