Я пытаюсь сравнить использование памяти между моей программой и примером программы, которая дается с помощью PS в Linux

мой и пример написан на C ++, и я не уверен, как сравнить, сколько памяти эти две программы используют с помощью PS в Linux Спасибо большое

2 ответа2

0

С помощью этой команды вы можете увидеть, сколько памяти использует каждый процесс в Linux.

top | grep <name>

Как правило, если вы хотите вывести статистику обо всех текущих процессах, вы можете использовать команду top без создания конвейера.

top

... который выводит что-то похожее на это:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1050 root      20   0  350m 125m  89m R   82  6.3   4288:11 Xorg                                                                                            
4633 kocko     20   0  972m 309m  28m R   28 15.4   1677:33 amarok                                                                                          
30624 kocko     20   0 1044m 225m  28m S   12 11.2   3:03.23 eclipse                                                                                         
31356 kocko     20   0  434m  60m  22m S    2  3.0 603:29.59 chrome                                                                                          
 1678 kocko     20   0 42972 7480 4764 S    2  0.4 146:14.10 compiz    
0

Вам, вероятно, стоит взглянуть на инструмент профилирования, такой как Valgrind, для анализа памяти. IIRC, диспетчер памяти Linux, добавит новую память в ваш процесс, когда это потребуется, но выгрузит ненужную память, а не освободит ее. Так что если вы используете такие инструменты, как free и ps вы обнаружите утечки памяти там, где их нет.

Обновление - это может быть ps, а не менеджер памяти, который здесь "виноват".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .