0
我试图确定当前进程在Mac OS X上使用多少内存。具体来说,top如何计算每个进程的MEM列中显示的值?活动监视器在“内存”选项卡上的每个进程的“内存”列中显示相同的值。从C++获取进程的内存使用情况
有网络上的几页(如this answer)提示如下:
struct task_basic_info tinfo;
mach_msg_type_number_t count = TASK_BASIC_INFO_COUNT;
task_info(
mach_task_self(), TASK_BASIC_INFO,
(task_info_t) &tinfo, &count);
// memory usage is in tinfo.resident_size;
但返回的值是关闭了近2倍(如上面显示64 MB,而该代码报告105MB )。 top和Activity Monitor如何查找进程的内存使用情况?
你可以检查'top'字段'rprvt'是否匹配这段代码的结果吗? –
@JohnZwinck RPRVT字段小于MEM字段。目前的值是:MEM:63M,RPRVT:45M,VPRVT:170M,VSIZE:2679M。代码片段报告100M – roeland
类似的问题在这里:活动监视器190MB,XCode调试工具:244MB,task_info:320MB。顶级报告为XCode 244MB –