diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp index 59faed252909..bc9325ee8c6e 100644 --- a/xpcom/base/nsMemoryReporterManager.cpp +++ b/xpcom/base/nsMemoryReporterManager.cpp @@ -308,14 +308,16 @@ NS_MEMORY_REPORTER_IMPLEMENT(HeapCommitted, KIND_OTHER, UNITS_BYTES, GetHeapCommitted, - "This number reported only for completeness; it is not particularly " - "meaningful. On Windows, all mapped memory is committed (because jemalloc's " - "MALLOC_DECOMMIT flag is set). Thus heap-committed should equal " - "heap-allocated + heap-unallocated. Elsewhere, jemalloc uses " - "madvise(DONT_NEED) to instruct the OS to drop the physical memory backing " - "pages the allocator doesn't need. In this case, jemalloc counts the memory " - "as 'committed', but it's not taking up any space in physical memory or in " - "the swap file."); + "Memory mapped by the heap allocator that is committed, i.e. in physical " + "memory or paged to disk. The allocator may map blocks of many pages and " + "then hand out only some of those pages in response to a call to malloc. " + "Only those pages which have been handed out to the application are counted " + "as committed -- the OS lazily assigns physical pages to mappings, so those " + "pages which the allocator has not handed out haven't been written to and " + "therefore don't have a corresponding physical page. (Of course, the " + "application may malloc pages and free them without ever writing to the " + "pages and causing them to be committed. But the allocator conservatively " + "assumes that the application writes to all pages it receives.)") NS_MEMORY_REPORTER_IMPLEMENT(HeapDirty, "heap-dirty",