Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Виртуальная память

13.04.10 23:34
Re: Виртуальная память
 
AlterEgo Чеширръ
AlterEgo
в ответ romanovi4 13.04.10 20:54, Последний раз изменено 13.04.10 23:36 (AlterEgo)
У тебя где то утечка - объекты создаются и не удаляются. Причем судя по скорости - очень большая. Возможно потоки как то неправильно завершаются а только останавливаются. (так ли это можно увидеть в TaskManager- Показыват число потоков)
Судя по тому что растет именно виртуальная память а не реальная это не фрагментация кучи а самая настоящая утечка. Стандартный приему поиска-интструментализовать код (есть программы и библиотеки для этого), так что бы фиксировались New /Delete а потом смотреть какого типа объекты болтаются в памяти. В идеале даже с указанием места в программе где они создаются и даже стеком.
Для особого долгоживущих программ рекомендуются "smart pointer" и Pooling (объекты не уничтожаются, а помещаются в пул). Ну или продвинутые Heap мэнеджеры а ля Апач, которые позволяют махом удалить все объекты ассоциированные с тредом после его завершения.
Upd:
http://msdn.microsoft.com/en-us/library/x98tx3cf%28VS.80%29.aspx
*Ъ...
 

Перейти на