嵌入式linux上的getrusage函数 我有一个应用程序,我正在评估C++框架。p>
我在寻找时间和内存消耗。在linux上,为了获得当前程序占用的内存,我使用了getrusage函数。它在我的机器上工作得很好 当我将此应用程序交叉编译成arm体系结构并在嵌入式设备(也运行linux)上运行代码时,会出现问题,内存函数返回0。应用程序在嵌入式设备上运行正常,只是内存函数返回0嵌入式linux上的getrusage函数 我有一个应用程序,我正在评估C++框架。p>,c++,linux,arm,cross-compiling,getrusage,C++,Linux,Arm,Cross Compiling,Getrusage,我在寻找时间和内存消耗。在linux上,为了获得当前程序占用的内存,我使用了getrusage函数。它在我的机器上工作得很好 当我将此应用程序交叉编译成arm体系结构并在嵌入式设备(也运行linux)上运行代码时,会出现问题,内存函数返回0。应用程序在嵌入式设备上运行正常,只是内存函数返回0 你知道可能的解决方案是什么吗?2.6.31.14之前的Linux版本不支持struct rusage的ru\u maxrss字段。Linux版本从2.6.32开始。我假设您在嵌入式系统中运行的版本比在桌面上
你知道可能的解决方案是什么吗?2.6.31.14之前的Linux版本不支持
struct rusage
的ru\u maxrss
字段。Linux版本从2.6.32开始。我假设您在嵌入式系统中运行的版本比在桌面上运行的版本早。根据,返回值0表示成功。或者你是说别的什么?请发布一个最小的、完整的程序,演示您遇到的问题,以及您的预期和实际输出。太好了。你完全正确,只是检查了我的版本。那么,我现在有什么选择???你能为linux内核推荐任何替代方案吗?你必须自己确认它的有用性,但我会启动/proc/self/stat
,/proc/self/statm
,以及/proc/self/status
。详情请参阅。让我继续,如果我发现任何问题,请再来。干杯!您好,Rob,我正在查看/proc/self/stat(与/proc/self/stat和/proc/self/statm相比,它更易于阅读)状态,并发现VmPeak(峰值虚拟内存)和VmSize(虚拟内存大小)是其中唯一与内存相关的信息。然而,它们并没有真正匹配我从getrusage函数得到的大小。我在同一台机器上运行代码,并使用getrusage和/proc/pid/status检查内存使用情况。你知道为什么会有这种差异吗????