У меня есть исполняемый файл C ++ для многопоточного приложения, которое предполагает открытие портов UDP.
Я измеряю использование памяти этим приложением, используя различные инструменты.
Из моего понимания использования памяти Linux RSS = Heap + Stack + Shared + CodeSize
.
Однако теперь я думаю, что уравнение неверно, потому что мое приложение имеет:
- Пиковое использование кучи: 40Mb
- Пик RSS: 30Mb
Я измерил числа различными инструментами (valgrind
, heaptrack
, top
..), чтобы я мог сказать, что они правильные.
Как это возможно?
Каковы причины и последствия этой ситуации?
Спасибо