Если мой процесс выделяет некоторую большую память, а затем освобождает ее, покажет ли top или gnome-system-monitor, что мое использование памяти этим процессом уменьшилось? или ядро по-прежнему резервирует эту память для этого процесса?
Я вижу, что освобождаю память. Но я все еще вижу, как gnome-system-monitor отображает растущую память для моей программы. Я не нахожу утечки памяти на моем конце. Я хочу знать, не отображается ли освобожденная память? или у меня действительно утечка памяти?
Ваш вопрос, похоже, основан на путанице между физической и виртуальной памятью. Нормальное распределение памяти никогда резервная физическая память - ядро всегда бесплатно использовать физическую память там, где она приносит наибольшую пользу. А поскольку виртуальная память дешевая, нет причин беспокоиться о том, останется она зарезервированной или нет.
Обычно виртуальная память остается зарезервированной, потому что нет смысла прилагать усилия для ее возврата. Физическая память никогда не была зарезервирована, так что делать нечего.