Какой инструмент или команда дает очень точное состояние использования памяти в Linux? - PullRequest
0 голосов
/ 17 октября 2018

В моем проекте меня попросили профилировать использование памяти приложением C ++, работающим в Linux, для встроенного аналогичного устройства.Нам нужно знать это, чтобы решить, сколько оперативной памяти нам нужно.

Я провел некоторое исследование и нашел много инструментов или команд, чтобы определить максимальное использование памяти процессом, когда он выполняется.

Вот такие:

  1. top Команда: top -p $ Pid

  2. ps Команда: ps -o rss = $ pid

  3. Команда pmap: pmap -x $ pid

  4. valgrind -massif valgrind --tool = массив --pages-as-heap = да программа

  5. smaps Использовал следующую ссылку: Сценарий

  6. Приложение системного монитора Linux

Но я получаю разное использование памяти в каждом из них.Я попытался понять в глубине, но оставил меня в замешательстве, что достаточно близко, чтобы доверятьТаким образом, кто-то со стажем может поделиться тем, какой из них он использует, а также почему у нас есть много способов измерить память, которая дает разные результаты.

Части VM, RSS и Shared имеют разные значения во всех них.

Спасибо

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете получить максимальный размер резидентного набора процесса за время его жизни, в килобайтах, используя следующую команду:

/usr/bin/time -f %M

После выполнения вашего двоичного файла C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...