GNU/Linux >> Znalost Linux >  >> Linux

Zkoumání statistik paměti haldy C/C++ v gdb

@fd – chyba RedHat měla vaši odpověď.

mallinfo funkce byla zastaralá a nebude aktualizována. Skutečné API statistik dotazů je TDB. Dnes máte malloc_stats a malloc_info . Nemohu najít žádnou dokumentaci k žádné z nich, ale zde je to, co vám poskytnou.

Je to dost blízko tomu, co potřebujete?

(gdb) call malloc_stats()
Arena 0:
system bytes     =     135168
in use bytes     =         96
Total (incl. mmap):
system bytes     =     135168
in use bytes     =         96
max mmap regions =          0
max mmap bytes   =          0

(gdb) call malloc_info(0, stdout)
<malloc version="1">
<heap nr="0">
<sizes>
<unsorted from="1228788" to="1229476" total="3917678" count="3221220448"/>
</sizes>
<total type="fast" count="0" size="0"/>
<total type="rest" count="3221220448" size="3917678"/>
<system type="current" size="135168"/>
<system type="max" size="135168"/>
<aspace type="total" size="135168"/>
<aspace type="mprotect" size="135168"/>
</heap>
<total type="fast" count="0" size="0"/>
<total type="rest" count="3221220448" size="3917678"/>
<system type="current" size="135168
/>
<system type="max" size="135168
/>
<aspace type="total" size="135168"/>
<aspace type="mprotect" size="135168"/>
</malloc>

Pokud můžete kód změnit:

#include <malloc.h>
#include <stdio.h>

void dumpMallinfo(void) {
  struct mallinfo m = mallinfo();
  printf("uordblks = %d\nfordblks = %d\n", m.uordblks, m.fordblks);
}

V GDB můžete call dumpMallinfo() .


Linux
  1. Jak určit kódování znaků, které terminál používá v programu C/c++?

  2. Tutoriál:Udělejte z Vimu své C/C++ IDE pomocí c.vim Pluginu

  3. Jak může moje aplikace C/C++ určit, zda uživatel root provádí příkaz?

  1. Linuxový nástroj pro kontrolu pravopisu komentářů ve zdrojovém kódu c/c++

  2. Jak zkontrolovat velikost haldy pro proces v Linuxu

  3. Najít dostupná síťová rozhraní v C/C++?

  1. Existuje grafické uživatelské rozhraní C++ gdb pro Linux?

  2. C/C++ Linux MAC adresy všech rozhraní

  3. Jak vypsat závislosti statické knihovny c/c++?