From d99bb768fdd48f8be264df6e3f50f9f1bae5309a Mon Sep 17 00:00:00 2001 From: Dexter Date: Thu, 9 Aug 2018 12:36:33 -0700 Subject: [PATCH] Fix memory usage display in Perf Monitor (#19664) Summary: According to: https://github.com/apple/darwin-xnu/blob/master/osfmk/kern/bsd_kern.c#L420 The result is the same as Xcode app memory uesd. Before Fix: before before1 After Fix: after after1 [IOS] [BUGFIX] [Monitor] - fix memory perf monitor. Make sure the memory footprint is the same as Jetsam. Pull Request resolved: https://github.com/facebook/react-native/pull/19664 Differential Revision: D9246307 Pulled By: hramos fbshipit-source-id: f85efc54cdcb0c19677594d465752c666d5af18b --- React/Profiler/RCTPerfMonitor.m | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/React/Profiler/RCTPerfMonitor.m b/React/Profiler/RCTPerfMonitor.m index 768142437b0..b9c2c4cd585 100644 --- a/React/Profiler/RCTPerfMonitor.m +++ b/React/Profiler/RCTPerfMonitor.m @@ -62,17 +62,14 @@ static BOOL RCTJSCSetOption(const char *option) static vm_size_t RCTGetResidentMemorySize(void) { - struct task_basic_info info; - mach_msg_type_number_t size = sizeof(info); - kern_return_t kerr = task_info(mach_task_self(), - TASK_BASIC_INFO, - (task_info_t)&info, - &size); - if (kerr != KERN_SUCCESS) { - return 0; - } - - return info.resident_size; + vm_size_t memoryUsageInByte = 0; + task_vm_info_data_t vmInfo; + mach_msg_type_number_t count = TASK_VM_INFO_COUNT; + kern_return_t kernelReturn = task_info(mach_task_self(), TASK_VM_INFO, (task_info_t) &vmInfo, &count); + if(kernelReturn == KERN_SUCCESS) { + memoryUsageInByte = (vm_size_t) vmInfo.phys_footprint; + } + return memoryUsageInByte; } @interface RCTPerfMonitor : NSObject