Название: Измерить кол-во потребляемой памяти Отправлено: Павел_F. от Апрель 29, 2010, 12:58 Задача:
Нужно написать приложение на Qt которое периодически плодит всякие обьекты и удаляет их, что не проблема. Но при этом приложение должно показать сколько памяти оно использует в данный момент. Нужно под винду, как не знаю, посоветуйте что-нибудь. Название: Re: Измерить кол-во потребляемой памяти Отправлено: alexman от Апрель 29, 2010, 13:26 Диспетчер задач :)
Название: Re: Измерить кол-во потребляемой памяти Отправлено: Павел_F. от Апрель 29, 2010, 13:32 Нужно внутри приложения измерять сколько оно скушало и в нем же показывать результат.
Название: Re: Измерить кол-во потребляемой памяти Отправлено: Igors от Апрель 29, 2010, 13:42 Если просто показывать (время от времени) то для Вындоуз GetProcessMemoryInfo ф-ция. Как кросс-платформенно - не знаю
Название: Re: Измерить кол-во потребляемой памяти Отправлено: kibsoft от Апрель 29, 2010, 15:04 Тема уже обсуждалась неоднократно насчет памяти в Windows. Удаляя объекты Windows часто не освобождает память, а оставляет ее на всякий случай данному процессу(если она не нужна какому-либо другому процессу). Так что если хочешь увидеть как при удалении объекта уменьшается количество потребляемой памяти, то ты вряд ли этого добьешься(хотя я встречал когда в диспетчере память при удалении объектов уменьшалась, но было это всего пару раз).
Название: Re: Измерить кол-во потребляемой памяти Отправлено: Павел_F. от Апрель 29, 2010, 15:25 Да вот хочется как раз так... Я знал что винда как-то не по людски память показывает, но я редко с ней сталкиваюсь поэтому надежды были.
Название: Re: Измерить кол-во потребляемой памяти Отправлено: spectre71 от Апрель 29, 2010, 15:29 Тема уже обсуждалась неоднократно насчет памяти в Windows. Удаляя объекты Windows часто не освобождает память, а оставляет ее на всякий случай данному процессу(если она не нужна какому-либо другому процессу). Так что если хочешь увидеть как при удалении объекта уменьшается количество потребляемой памяти, то ты вряд ли этого добьешься(хотя я встречал когда в диспетчере память при удалении объектов уменьшалась, но было это всего пару раз). Память для приложения выделяется/освобождается системой постранично. Освобождение может произойти если страница полностью свободна и кагда такая страница уйдет обратно к системе зависит от нее. Вот и эффект! Но это не значит что нельзя отслеживать кол-во выделенной памяти. Иногда это нужно. Пример из MSDN: Код
|