У меня есть утечка памяти где-то , но она не связана с моей программой. Я делаю это смелое утверждение, основываясь на том факте, что после того, как моя программа завершает работу, в результате сбоя сегмента, выхода или прерывания, память не восстанавливается. Если бы моя программа была виновником, я бы предположил, что MMU восстановит все, но это не так.
Мой вопрос:
В небольшой системе Linux (64 МБ ОЗУ), на которой запущена программа, использующая только стековую память и несколько вызовов malloc()
, по каким причинам я могу посмотреть, что память переполняется и останавливается, когда моя программа заканчивается?
Смежный вопрос здесь :
Все это началось, когда рассматриваемый код направлял свой stdout, stderr в файл. Через несколько часов он прервался с «ошибкой сегментации». Быстрый (наивный?) Просмотр / proc / meminfo показал, что свободной памяти не так много, поэтому я предположил, что что-то протекает.