В моем проекте меня попросили профилировать использование памяти приложением C ++, работающим в Linux, для встроенного аналогичного устройства.Нам нужно знать это, чтобы решить, сколько оперативной памяти нам нужно.
Я провел некоторое исследование и нашел много инструментов или команд, чтобы определить максимальное использование памяти процессом, когда он выполняется.
Вот такие:
top Команда: top -p $ Pid
ps Команда: ps -o rss = $ pid
Команда pmap: pmap -x $ pid
valgrind -massif valgrind --tool = массив --pages-as-heap = да программа
smaps Использовал следующую ссылку: Сценарий
Приложение системного монитора Linux
Но я получаю разное использование памяти в каждом из них.Я попытался понять в глубине, но оставил меня в замешательстве, что достаточно близко, чтобы доверятьТаким образом, кто-то со стажем может поделиться тем, какой из них он использует, а также почему у нас есть много способов измерить память, которая дает разные результаты.
Части VM, RSS и Shared имеют разные значения во всех них.
Спасибо