Форум: "WinAPI";
Текущий архив: 2008.09.21;
Скачать: [xml.tar.bz2];
ВнизУтечка ресурсов Найти похожие ветки
← →
EgorovAlex (2007-12-05 21:30) [0]Есть такая ситуация - работает сервис на сервере очень долго, и через какое-то время этот сервер перестаёт пускать к себе терминальных клиентов. После перезагрузки моего сервиса ситуация исправляется до следующего раза. В чём может быть причина? Оперативки на этот момент свободной много - больше двух гигов, хендлов открытых не больше 2000, потоков меньше 200. Даже не знаю куда копать :(
← →
DVM © (2007-12-05 21:42) [1]
> Даже не знаю куда копать :(
серевер сокеты закрывать не забывает?
← →
DVM © (2007-12-05 21:44) [2]В принципе проблема решается ведением логов работы. Протоколируй в файл(файлы) результаты вызовов сетевых функций, по логам найдешь вероятное место ошибки.
← →
EgorovAlex (2007-12-05 21:48) [3]Сокетов нет, есть именованные каналы - может из-за них?
← →
DVM © (2007-12-05 21:56) [4]
> может из-за них?
Может быть из за чего угодно. Скорее всего исчерпывается количество каких-либо свободных ресурсов. Логи и еще раз логи.
← →
EgorovAlex (2007-12-05 22:00) [5]Так а что логить? Сетевые функции - создание, удаление пайпов или всё продряд? Программа слишком большая, чтобы очень много логировать.
← →
DVM © (2007-12-05 22:06) [6]
> Так а что логить?
Выделение и освобождение ресурсов вероятно. Но для начала неплохо бы все же выяснить, что за ресурсы утекают. Выяснить можно с пом MemProof и Process Explorer.
← →
Rouse_ © (2007-12-05 22:21) [7]Поставь себе для начала FastMM4 и включи протоколирование. Он тебе сразу кажет утечки.
← →
DVM © (2007-12-05 22:23) [8]
> Rouse_ © (05.12.07 22:21) [7]
Он не все утечки покажет. Он, насколько я понимаю, не покажет незакрытых хэндлов и т.д. а покажет неудаленные объекты и выделенную и неосвобожденную память.
← →
EgorovAlex (2007-12-05 22:30) [9]По памяти я гоняю EurekaLog - помогает, хоть и триальный, а вот по хендлам рекомендуют AQTime, но он дороговат...
← →
Rouse_ © (2007-12-05 22:41) [10]
> Он, насколько я понимаю, не покажет незакрытых хэндлов
А для этого другие инструменты есть, VTune тот-же :) Если человек не работает напрямую с АПИ, то FastMM покажет все, а если работает - значит плохо это реализует :)
← →
Eraser © (2007-12-05 23:26) [11]в process explorer"e еще можно глянуть, там сразу будет видно если какой-то тип ресурсов "утекает" ) разве что утечки памяти не выявишь особо.
← →
EgorovAlex (2007-12-06 00:09) [12]Да, процесс эксрлорер - сила, может кто знает, как он выдирает из процесса инфу о незакрытых хендлах?
Раньше Руссинович хоть иногда отвечал, пока его мелкомягкие не купили, а теперь - тишина...
← →
Slym © (2007-12-06 05:10) [13]В диспетчере задач Вид-Выбрать столбцы... поставь:
Объем виртуальной памяти.
Счетчик дескрипторов.
Счетчик потоков.
Этого хватит для диагнистики
← →
Slym © (2007-12-06 09:06) [14]Сколько процессоров на сервере?
В журнале сообщения какие?
"Реестр пользователя Domain\user был сохранен в то время, как приложение или служба продолжали использовать его во время выхода из системы..."
← →
Eraser © (2007-12-06 11:44) [15]
> Slym © (06.12.07 05:10) [13]
там нельзя посмотреть какой именно тип дескрипторов не освобождается.
← →
Slym © (2007-12-06 14:15) [16]Eraser © (06.12.07 11:44) [15]
хендлов открытых не больше 2000... зато закрытых может быть 65536 :)
← →
Slym © (2007-12-06 14:19) [17]У меня токое было на сервере терминалов.... работает а потом колом встает. Память, хендлы все счетчики в норме, даже ЦПУ 1%, но всеравно колом...
Думаю система уходит в дедлок где-то, система однопроцессорная, на многопроцессорной все в норме
← →
Slym © (2007-12-06 14:21) [18]Slym © (06.12.07 14:19) [17]
А дедлок думаю в доступе к реестру, т.к. замечался на этапе логона Nого пользователя или при интенсивном юзании
← →
EgorovAlex (2007-12-06 14:49) [19]А что это - "закрытые хендлы"?
Система четырёхпроцессорная, 4 гига памяти
← →
DVM © (2007-12-06 15:09) [20]
> А что это - "закрытые хендлы"?
это типа дырок от бубликов
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2008.09.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c