共計 758 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Linux 中,可以使用工具如 malloc_info
、mtrace
、valgrind
、gdb
等來查看 glibc 內(nèi)存分配情況。
例如,可以使用 mallinfo
函數(shù)來查看 glibc 內(nèi)存分配情況,示例代碼如下:
#include <stdio.h>
#include <malloc.h>
int main() {struct mallinfo mi = mallinfo();
printf("Total non-mmapped bytes (arena): %d\n", mi.arena);
printf("# of free chunks (ordblks): %d\n", mi.ordblks);
printf("# of fastbin blocks (smblks): %d\n", mi.smblks);
printf("# of mmapped regions (hblks): %d\n", mi.hblks);
printf("Space in mmapped regions (hblkhd): %d\n", mi.hblkhd);
printf("Maximum total allocated space (usmblks): %d\n", mi.usmblks);
printf("Free space (fsmblks): %d\n", mi.fsmblks);
printf("Total allocated space (uordblks): %d\n", mi.uordblks);
printf("Total free space (fordblks): %d\n", mi.fordblks);
printf("Topmost releasable block (keepcost): %d\n", mi.keepcost);
return 0;
}
編譯并運行上述代碼,即可查看 glibc 內(nèi)存分配情況。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完