Утечки для новой вкладки
От: DenProg  
Дата: 24.03.25 18:14
Оценка:
Приложение Qt MDI. Смотрю память в htop RES. При открытии новой вкладки память прибавляется (естесственно), при закрытии — не освобождается (плохо). Смотрю утечки в valgrind при завершении — есть, но незначительные и от количества вкладок не зависят. Почитал про htop — говорят что эта тулза она больше для юзера, а не для того, чтоб смотреть утечки. А что нынче есть чтоб смотреть утечки в Ubuntu не завершая приложение? И есть ли смысл обращать внимание на htop?
Re: Утечки для новой вкладки
От: Chorkov Россия  
Дата: 25.03.25 09:49
Оценка:
Здравствуйте, DenProg, Вы писали:

DP>Приложение Qt MDI. Смотрю память в htop RES. При открытии новой вкладки память прибавляется (естесственно), при закрытии — не освобождается (плохо). Смотрю утечки в valgrind при завершении — есть, но незначительные и от количества вкладок не зависят. Почитал про htop — говорят что эта тулза она больше для юзера, а не для того, чтоб смотреть утечки. А что нынче есть чтоб смотреть утечки в Ubuntu не завершая приложение? И есть ли смысл обращать внимание на htop?


Код С++ запрашивает у менеджера памяти (код внутри пользовательской программы) куски памяти произвольного размера.
(В большинстве случаев, много маленьких кусков.)

Менеджер памяти запрашивает у системы страницы памяти. Они фиксированного размера. Конкретный размер зависит от ОС, обычно десятки килобайт.


За счет фрагментации, одно и тоже число аллокаций памяти, одного и тогоже размера, может занимать разное число страниц памяти.
Кроме того, менеджер памяти может не сразу отдавать системе не занятые страницы...


Использовать htop для поиска именно утечек — нет смысла, если только речь не про гигабайты.
Re[2]: Утечки для новой вкладки
От: DenProg  
Дата: 27.03.25 15:31
Оценка:
Здравствуйте, Chorkov, Вы писали:

C>Здравствуйте, DenProg, Вы писали:


DP>>Приложение Qt MDI. Смотрю память в htop RES. При открытии новой вкладки память прибавляется (естесственно), при закрытии — не освобождается (плохо). Смотрю утечки в valgrind при завершении — есть, но незначительные и от количества вкладок не зависят. Почитал про htop — говорят что эта тулза она больше для юзера, а не для того, чтоб смотреть утечки. А что нынче есть чтоб смотреть утечки в Ubuntu не завершая приложение? И есть ли смысл обращать внимание на htop?


C>Код С++ запрашивает у менеджера памяти (код внутри пользовательской программы) куски памяти произвольного размера.

C>(В большинстве случаев, много маленьких кусков.)

C>Менеджер памяти запрашивает у системы страницы памяти. Они фиксированного размера. Конкретный размер зависит от ОС, обычно десятки килобайт.



C>За счет фрагментации, одно и тоже число аллокаций памяти, одного и тогоже размера, может занимать разное число страниц памяти.

C>Кроме того, менеджер памяти может не сразу отдавать системе не занятые страницы...


C>Использовать htop для поиска именно утечек — нет смысла, если только речь не про гигабайты.


Хорошо, как проверять утечки в таком случае — что при закрытии вкладки память освобождается?
Re[3]: Утечки для новой вкладки
От: Chorkov Россия  
Дата: 28.03.25 15:49
Оценка:
Здравствуйте, DenProg, Вы писали:

DP>Хорошо, как проверять утечки в таком случае — что при закрытии вкладки память освобождается?


valgrind
Re[4]: Утечки для новой вкладки
От: DenProg  
Дата: 31.03.25 09:03
Оценка:
Здравствуйте, Chorkov, Вы писали:

C>Здравствуйте, DenProg, Вы писали:


DP>>Хорошо, как проверять утечки в таком случае — что при закрытии вкладки память освобождается?


C>valgrind

C>
Он же генерит отчет только при завершении приложения, нет?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.