linux中如何查看glibc内存分配情况

1410
2024/3/27 10:46:37
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Linux中,可以使用工具如malloc_infomtracevalgrindgdb等来查看glibc内存分配情况。

例如,可以使用mallinfo函数来查看glibc内存分配情况,示例代码如下:

#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内存分配情况。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux怎么执行vi编辑的程序