Текем/нетекем странно
Feb. 22nd, 2007 10:26 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Волею судеб приходится писать проги под виндовс. Проблемка сейчас случилась довольно забавная:
Написал прогу. Запускаю, течет память (причем хорошо так течет..). Берем профайлер, который контролирует создание/удаление объектов, - сообщает у тебя все ок, никаких утечек...
Ладно, наверное, это не утечки памяти, а просто накопление. Берем другой профайлер, который проверяет количество обектов/ресурсов/пр и занимаемую ими память, - говорит все ок, ничего не накапливается все лишнее освобождается вовремя... Ну как же, я же вижу по таксменеджеру, что используемая и виртуальная память растет!?!?!
Хорошо, может это таскменеджер глючит, запущу ка я свою прожку на долгое время и посмотрим что будет. Через 6 часов прога сообщает, что недостаточно памяти для создания треда. Смотрим памяти еще 400 метров. По таскменеджеру прога занимает 140метров реальной и 209 метров виртуальной памяти (при запуске занимает 19 и 88 метров соответственно).
Еще более странно то, что при запуске на других машинах (где операционки NT4/2000/XP) все ок - ничего никуда не течет... Да еб %$^# ^%$# %#$$# %#$^*&^% !!!!!!!!! Где справедливость? Я же ничего со своей операционкой не делал, ничего лишнего не стоит, стоят все патчи и сервис паки от XP. Никаких "отключений лишних сервисов/оптимизаций/пр". Причем не очень давно я ее ставил с нуля на чистый комп. Машина работает 24/7 и все ок, ничего больше не течет. Иногда аптайм доходил до месяца... Я в ауте...
Написал прогу. Запускаю, течет память (причем хорошо так течет..). Берем профайлер, который контролирует создание/удаление объектов, - сообщает у тебя все ок, никаких утечек...
Ладно, наверное, это не утечки памяти, а просто накопление. Берем другой профайлер, который проверяет количество обектов/ресурсов/пр и занимаемую ими память, - говорит все ок, ничего не накапливается все лишнее освобождается вовремя... Ну как же, я же вижу по таксменеджеру, что используемая и виртуальная память растет!?!?!
Хорошо, может это таскменеджер глючит, запущу ка я свою прожку на долгое время и посмотрим что будет. Через 6 часов прога сообщает, что недостаточно памяти для создания треда. Смотрим памяти еще 400 метров. По таскменеджеру прога занимает 140метров реальной и 209 метров виртуальной памяти (при запуске занимает 19 и 88 метров соответственно).
Еще более странно то, что при запуске на других машинах (где операционки NT4/2000/XP) все ок - ничего никуда не течет... Да еб %$^# ^%$# %#$$# %#$^*&^% !!!!!!!!! Где справедливость? Я же ничего со своей операционкой не делал, ничего лишнего не стоит, стоят все патчи и сервис паки от XP. Никаких "отключений лишних сервисов/оптимизаций/пр". Причем не очень давно я ее ставил с нуля на чистый комп. Машина работает 24/7 и все ок, ничего больше не течет. Иногда аптайм доходил до месяца... Я в ауте...
no subject
Date: 2007-02-22 10:52 am (UTC)2. Скорее всего, что-то таки течёт :) Или не течёт, а просто держится дольше -- ты можешь посмотреть под что ушли 140 и 209 метров?
no subject
Date: 2007-02-22 07:01 pm (UTC)см. последний абзац. Да, в VMWare тоже запускал - не течет... Самое прикольное, что я вообще отвечал все функции - и сетевую(просто заглушку ставил) и убрал перерисовку приложения(т.е. просто отключил графику) - результат тот же.
Да правда я забыл сказать, что приложение использует очень много тредов (в пиковые секунды активности до 80-90 тредов)
>2. Скорее всего, что-то таки течёт :) Или не течёт, а просто держится дольше -- ты можешь посмотреть под что ушли 140 и 209 метров?
Не течет, проверенно профайлерами(и не одним). Было предположение, что происходит накопление памяти, но на что она уходит ни один профайлер не указал.
no subject
Date: 2007-02-22 07:22 pm (UTC)Ещё вариант - не все ресурсы связанные с тредами отдаются системе.... Может такое быть?
no subject
Date: 2007-02-22 07:45 pm (UTC)>Ещё вариант - не все ресурсы связанные с тредами отдаются системе.... Может такое быть?
А почему на других машинах (5 штук + моя виртуальная) все ок... В общем у меня есть еще один выход - забекапить существующую операционку - переставиться с нуля и попробовать так. Правда тут все равно возникает вопрос - за что винда невзлюбила именно мое приложение, другие (те же автоматы ) работают нормально...