Skip to content

Commit 8c76072

Browse files
mrsharmgewarren
andauthored
Update xml/System/GCMemoryInfo.xml
Co-authored-by: Genevieve Warren <[email protected]>
1 parent b10a7f6 commit 8c76072

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

xml/System/GCMemoryInfo.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,9 @@ The memory after `OBJ_D` is not considered part of the `FragmentedBytes` but is
319319
<para>When a process is not running in a container or running in a container without a memory limit:</para>
320320
<para>- On Windows, the MemoryLoadBytes is obtained from the <see href="/windows/win32/api/winbase/ns-winbase-memorystatus">MEMORYSTATUS structure</see> in bytes divided by the total physical memory.</para>
321321
<para>- On Linux, the MemoryLoadBytes is obtained from reading the MemAvailable field from <c>/proc/meminfo</c> divided by the total physical memory.</para>
322-
<para>When a process is running in a container with a memory limit or when cgroup limits are set:
323-
On Windows, the MemoryLoadBytes is obtained from the Working Set Size field in the <see href="/windows/win32/api/psapi/nf-psapi-getprocessmemoryinfo">PROCESS_MEMORY_COUNTERS structure</see> in bytes divided by the memory limit.
324-
On Linux, the MemoryLoadBytes is obtained from the used physical memory via the CGroup Memory Usage file from `memory.usage_in_bytes` for CGroups v1 and `memory.current` for CGroups v2 divided by the memory limit. The cgroup limits don't necessarily mean there is a container. You can use cgroup to set limits on a regular process.</para>
322+
<para>When a process is running in a container with a memory limit or when cgroup limits are set:</para>
323+
<para>- On Windows, the MemoryLoadBytes is obtained from the Working Set Size field in the <see href="/windows/win32/api/psapi/nf-psapi-getprocessmemoryinfo">PROCESS_MEMORY_COUNTERS structure</see> in bytes divided by the memory limit.</para>
324+
<para>- On Linux, the MemoryLoadBytes is obtained from the used physical memory via the CGroup Memory Usage file from <c>memory.usage_in_bytes</c> for CGroups v1 and <c>memory.current</c> for CGroups v2 divided by the memory limit. The cgroup limits don't necessarily mean there is a container. You can use cgroup to set limits on a regular process.</para>
325325
<para>On Linux, when there is no cgroup enabled, the used physical memory is read from the <c>/proc/statm</c> file, which provides the process resident set size.</para>
326326
<para>On Linux, the virtual memory load is also used if the virtual memory rlimit is set and if the load is larger than the physical memory load.</para>
327327
<para>Data is only brought into physical memory on first touch. If you allocated a big object but haven't actually used it, most of its memory isn't in physical memory. In this case, the allocation won't affect the memory load significantly.</para>

0 commit comments

Comments
 (0)