PDA

Просмотр полной версии : Программа использует много оперативной памяти


cerelbine
20.05.2013, 22:37
Программа многопоточная список аккаунтов и гдето 5 потоков большинство компонентов динамические и после прохода потоком текущего аккаунта все уничтожается через .free и по новой в начале создается в ходе работы программа делает некоторые запросы [Ссылки могут видеть только зарегистрированные и активированные пользователи] и получает капчу сразу после чего уничтожает TStream и TJPEGImage. Чем дольше она работает чем больше памяти использует бывало за пару часов работы >70 000 кб (Информация из диспетчера).
Из за чего программа может кушать столько оперативной памяти?

Sinyss
20.05.2013, 22:48
Где то утечка...

cerelbine
20.05.2013, 23:31
Утечка чего может быть все уничтожается что есть

zombiee
21.05.2013, 02:19
Много - это насколько много?
Скорее всего, память просто кэшируется.

Count loop's: 5
Count Alloc's: 1048576
Running memory cache test #5

Starting allocating test, memory status:
Virtual Memory: 512KB
Physical Memory: 1956KB

Starting allocation...
Generation time: 18835 msec
Allocation ended, memory status:
Virtual Memory: 1076460KB
Physical Memory: 1077904KB

Starting cleanup memory...
Cleanup ended, memory status:
Virtual Memory: 6116KB
Physical Memory: 7624KB

Memory cache test #5 ended

Running memory cache test #4

Starting allocating test, memory status:
Virtual Memory: 6116KB
Physical Memory: 7624KB

Starting allocation...
Generation time: 20271 msec
Allocation ended, memory status:
Virtual Memory: 1087484KB
Physical Memory: 1078956KB

Starting cleanup memory...
Cleanup ended, memory status:
Virtual Memory: 7424KB
Physical Memory: 8716KB

Memory cache test #4 ended

Running memory cache test #3

Starting allocating test, memory status:
Virtual Memory: 7424KB
Physical Memory: 8716KB

Starting allocation...
Generation time: 20583 msec
Allocation ended, memory status:
Virtual Memory: 1086352KB
Physical Memory: 1079296KB

Starting cleanup memory...
Cleanup ended, memory status:
Virtual Memory: 7388KB
Physical Memory: 8936KB

Memory cache test #3 ended

Running memory cache test #2

Starting allocating test, memory status:
Virtual Memory: 7388KB
Physical Memory: 8936KB

Starting allocation...
Generation time: 20546 msec
Allocation ended, memory status:
Virtual Memory: 1084632KB
Physical Memory: 1079572KB

Starting cleanup memory...
Cleanup ended, memory status:
Virtual Memory: 7764KB
Physical Memory: 9308KB

Memory cache test #2 ended

Running memory cache test #1

Starting allocating test, memory status:
Virtual Memory: 7764KB
Physical Memory: 9308KB

Starting allocation...
Generation time: 19668 msec
Allocation ended, memory status:
Virtual Memory: 1085160KB
Physical Memory: 851300KB

Starting cleanup memory...
Cleanup ended, memory status:
Virtual Memory: 7948KB
Physical Memory: 8152KB

Memory cache test #1 ended


Press enter to exit test

Как видишь, память растет.

Dumping objects ->
Object dump complete.
The program '[4340] Test x64.exe' has exited with code 0 (0x0).

Утечек нет

Сорцы + сами тесты (x86 и x64) ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) | VirusTotal ([Ссылки могут видеть только зарегистрированные и активированные пользователи] 721843f2047dfe/analysis/1369089187/) на архив

Правда, они на C++, но, думаю, ничего страшного :notme:

cerelbine
21.05.2013, 23:47
Какбы на delphi подобный тест сделать. Кэшируются капча?