Você pode usar o maciço da ferramenta Valrind.
valgrind --tool=massif prog
Por padrão, ele cria um gráfico da memória heap usada, mas também pode mostrar a memória de pilha usada com
valgrind --tool=massif --stacks=yes prog
Valgrind tem a tendência de retardar a execução do seu programa, portanto, esteja avisado se o seu aplicativo for executado por um longo tempo.
Para mais informações sobre o Massif, posso recomendar a documentação do Valgrind que é muito boa.