Readonly
JSMainReadonly
JSMainReadonly
JSMainReadonly
JSMainReadonly
JSMainReadonly
JSMainReadonly
ghostReadonly
hasReadonly
heapReadonly
heapReadonly
imagesReadonly
isDMDEnabledThese attributes indicate DMD's status. "Enabled" means enabled at build-time.
Readonly
isDMDRunningReadonly
lowReadonly
pageReadonly
residentReadonly
residentReadonly
residentReadonly
residentReadonly
storageSQLiteReadonly
vsizeThe memory reporter manager, for the most part, treats reporters registered with it as a black box. However, there are some "distinguished" amounts (as could be reported by a memory reporter) that the manager provides as attributes, because they are sufficiently interesting that we want external code (e.g. telemetry) to be able to rely on them.
Note that these are not reporters and so getReports() does not look at them. However, distinguished amounts can be embedded in a reporter.
Access to these attributes can fail. In particular, some of them are not available on all platforms.
If you add a new distinguished amount, please update toolkit/components/aboutmemory/tests/test_memoryReporters.xul.
|vsize| (UNITS_BYTES) The virtual size, i.e. the amount of address space taken up.
|vsizeMaxContiguous| (UNITS_BYTES) The size of the largest contiguous block of virtual memory.
|resident| (UNITS_BYTES) The resident size (a.k.a. RSS or physical memory used).
|residentFast| (UNITS_BYTES) This is like |resident|, but on Mac OS |resident| can purge pages, which is slow. It also affects the result of |residentFast|, and so |resident| and |residentFast| should not be used together.
|residentPeak| (UNITS_BYTES) The peak resident size.
|residentUnique| (UNITS_BYTES) The unique set size (a.k.a. USS).
|heapAllocated| (UNITS_BYTES) Memory mapped by the heap allocator.
|heapOverheadFraction| (UNITS_PERCENTAGE) In the heap allocator, this is the fraction of committed heap bytes that are overhead. Like all UNITS_PERCENTAGE measurements, its amount is multiplied by 100x so it can be represented by an int64_t.
|JSMainRuntimeGCHeap| (UNITS_BYTES) Size of the main JS runtime's GC heap.
|JSMainRuntimeTemporaryPeak| (UNITS_BYTES) Peak size of the transient storage in the main JSRuntime.
|JSMainRuntimeCompartments{System,User}| (UNITS_COUNT) The number of {system,user} compartments in the main JS runtime.
|JSMainRuntimeRealms{System,User}| (UNITS_COUNT) The number of {system,user} realms in the main JS runtime.
|imagesContentUsedUncompressed| (UNITS_BYTES) Memory used for decoded raster images in content.
|storageSQLite| (UNITS_BYTES) Memory used by SQLite.
|lowMemoryEventsPhysical| (UNITS_COUNT_CUMULATIVE) The number of low-physical-memory events that have occurred since the process started.
|ghostWindows| (UNITS_COUNT) A cached value of the number of ghost windows. This should have been updated within the past 60s.
|pageFaultsHard| (UNITS_COUNT_CUMULATIVE) The number of hard (a.k.a. major) page faults that have occurred since the process started.
Readonly
vsizeOptional
aInstancePtr: objectA run time mechanism for interface discovery.
NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.
aInstancePtr must not be null.
[in] A requested interface IID
[out] A pointer to an interface pointer to receive the result.
Get memory reports for the current process and all child processes. |handleReport| is called for each report, and |finishReporting| is called once all reports have been handled.
|finishReporting| is called even if, for example, some child processes fail to report back. However, calls to this method will silently and immediately abort -- and |finishReporting| will not be called -- if a previous getReports() call is still in flight, i.e. if it has not yet finished invoking |finishReporting|. The silent abort is because the in-flight request will finish soon, and the caller would very likely just catch and ignore any error anyway.
If |anonymize| is true, it indicates that the memory reporters should anonymize any privacy-sensitive data (see above).
As above, but: If |minimizeMemoryUsage| is true, then each process will minimize its memory usage (see the |minimizeMemoryUsage| method) before gathering its report. If DMD is enabled and |DMDDumpIdent| is non-empty then write a DMD report to a file in the usual temporary directory (see |dumpMemoryInfoToTempDir| in |nsIMemoryInfoDumper|.)
As above, but if DMD is enabled and |DMDFile| is non-null then write a DMD report to that file and close it.
Run a series of GC/CC's in an attempt to minimize the application's memory usage. When we're finished doing this for the current process, we invoke the given runnable if it's not null. We do not wait for any child processes that might be doing their own minimization via child-mmu-request to finish.
Register the given nsIMemoryReporter. The Manager service will hold a strong reference to the given reporter, and will be responsible for freeing the reporter at shutdown. You may manually unregister the reporter with unregisterStrongReporter() at any point.
Like registerReporter, but the Manager service will hold a weak reference via a raw pointer to the given reporter. The reporter should be unregistered before shutdown. You cannot register JavaScript components with this function! Always register your JavaScript components with registerStrongReporter().
Measure the memory that is known to be owned by this tab, split up into several broad categories. Note that this will be an underestimate of the true number, due to imperfect memory reporter coverage (corresponding to about:memory's "heap-unclassified"), and due to some memory shared between tabs not being counted.
The time taken for the measurement (split into JS and non-JS parts) is also returned.
Unregister the given memory reporter, which must have been registered with registerStrongReporter(). You normally don't need to unregister your strong reporters, as nsIMemoryReporterManager will take care of that at shutdown.
Generated using TypeDoc
This attribute indicates if moz_malloc_usable_size() works.