什么“ru_maxrss”在getrusage中意味着什么

问题描述 投票:2回答:1

我在我的macOS Sierra上编译并运行以下c ++代码test.cpp

#include <iostream>
#include <sys/resource.h>

using namespace std;

int main() {
    int a = 1;
    struct rusage r_usage;
    getrusage(RUSAGE_SELF, &r_usage);
    cout << "Memory usage = " << r_usage.ru_maxrss << endl;
    int b = 2;
    return 0;
}

然后得到:

➜  Desktop git:(master) ✗ ./test
Memory usage = 663552

然后我发现ru_maxrss的单位是千字节here,所以该程序使用663552千字节?但我只是创建了一个整数。

另一个问题是:ru_maxrss是否计算int b = 2?或者只计算调用ru_maxrss的行之前的内存使用量。

c++ memory-management getrusage
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.