如何理解malloc大小与进程的VmSize和VmRSS之间的关系?

how to understand the relation between malloc size and process's VmSize and VmRSS?

提问人:Lewis Chan 提问时间:10/22/2023 更新时间:10/22/2023 访问量:12

问:

我有一个简单的c程序:

void t_simple_case() {
    int *p = (int *)malloc(1024 * sizeof(int));
    for (int i = 0; i < 1024; i++) {
        p[i] = i + 1;
    }
    getchar();
    delete []p;
    getchar();
}

我只分配了 4096 个字节,但我可以看到 VmSize=5896 KB,VmRSS=2944 KB。有很大的不同。cat /proc/pid/status

那么,我们如何理解我的 malloc 大小与虚拟/物理内存使用之间的关系呢?VmSize 或 VmRSS 可以添加多少个部件?

Linux 内存 malloc

评论

0赞 PMF 10/22/2023
这取决于运行时实现。在 kb 范围内的大小时,运行时和代码本身的内存开销比这大得多。尝试使用几个兆字节块以查看差异

答: 暂无答案