Nowe posty

Autor Wątek: Pomiar zużytej pamięci w programie.  (Przeczytany 2452 razy)

  • Gość
Pomiar zużytej pamięci w programie.
« dnia: 2012-06-08, 16:30:16 »
Witam! Używam Ubuntu 11.04 i chciałbym sprawdzić ilość zużywanej pamięci w programie napisanym w języku C++ i uruchomionym w Terminalu. Liczę na wskazówki.

Ksanderon

  • Gość
Pomiar zużytej pamięci w programie.
« Odpowiedź #1 dnia: 2012-06-08, 22:17:03 »
__attribute__((cleanup(int_free))) pomoże zapobiec wyciekowi gdy zbliża się death-line i nijak nie ma czasu na szukanie jakiegokolwiek rozwiązania:)

sporo ciekawych rzeczy można zrobić dzięki znajomości pliku nagłówkowego malloc(w c++ też się przyda nawet jeśli używasz new). Program może tak śledzić "stan samego siebie"

bardzo prosty przykład:
void dump(void)
{
struct mallinfo i = mallinfo();
printf("%d/%d\\n", i.uordblks, i.fordblks);
}
//po tych hasłach google coś wyszuka:
malloc_stats();
malloc_usable_size();
oczywiście do dyspozycji jest jeszcze gdb, które świadczy nieocenione usługi w wielu przypadkach.

a jeżeli chcesz sobie podglądnąć stan pamięci programu tak 4fun "bo ci się nudzi" to najwygodniej będzie htop, top lub cokolwiek innego tego typu.