У меня есть программное обеспечение, работающее на Linux, которое пропускает память. Это встроенная система, поэтому у меня не так много инструментов для отладки, поэтому я использую printf.Как определить свободную память в программе, запущенной в Linux?
Короче говоря, что-то вроде «popen()», вызывающего вызов «cat/proc/meminfo» и сканирование для строки MemFree, есть способ, которым я могу поместить эту информацию в printf?
В настоящее время я делаю что-то похожее на:
# ./myprogram &
# for ((c=0; c<99; c++)) do echo --- $c --- && cat /proc/meminfo | grep MemFree: && sleep 30; done;
Что это хорошо, но мне было интересно, если есть лучший путь.
Редактировать: Четыре ответа до сих пор не совсем то, что я искал, я был недостаточно конкретным.
Похоже, что моя программа не является причиной утечки памяти; независимо от того, что я хотел посмотреть, могу ли я добавить код «c», который будет видеть/сообщать о свободной памяти в системе, а не о том, сколько памяти использует мой код (процесс).
'm ищет подпрограмму c, которая может сообщать размер свободной физической памяти. – Jamie