summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2017-05-04 18:13:56 -0400
committerNat Goodspeed <nat@lindenlab.com>2017-05-04 18:13:56 -0400
commit49cfd6d9917c7ba35869e33785cbacba7c5e2d98 (patch)
tree0617af377b72ca6c308e2b474346d34ca885c80c
parent07ec10781e45b3d92e27e92ddad39cf74fa7ff0b (diff)
DRTVWR-418, MAINT-6996: On Mac, obtain total mem, not resident mem.
The LLMemory method getCurrentRSS() is defined to return the "resident set size," but in fact on Windows it returns the WorkingSetSize -- and that's actually what callers want from it: the total memory consumed by the application for statistics purposes. It's not really clear what users gain by knowing how much of that is resident in real memory, versus the total consumption. So despite the commentation and the method name itself, on Mac make it return the virtual size consumed.
-rw-r--r--indra/llcommon/llmemory.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp
index 9f9c3af892..aac6c26d9a 100644
--- a/indra/llcommon/llmemory.cpp
+++ b/indra/llcommon/llmemory.cpp
@@ -271,12 +271,11 @@ U64 LLMemory::getCurrentRSS()
mach_msg_type_number_t basicInfoCount = TASK_BASIC_INFO_64_COUNT;
if (task_info(mach_task_self(), TASK_BASIC_INFO_64, (task_info_t)&basicInfo, &basicInfoCount) == KERN_SUCCESS)
{
- residentSize = basicInfo.resident_size;
-
- // If we ever wanted it, the process virtual size is also available as:
- // virtualSize = basicInfo.virtual_size;
-
-// LL_INFOS() << "resident size is " << residentSize << LL_ENDL;
+// residentSize = basicInfo.resident_size;
+ // Although this method is defined to return the "resident set size,"
+ // in fact what callers want from it is the total virtual memory
+ // consumed by the application.
+ residentSize = basicInfo.virtual_size;
}
else
{