Enum EdgeTotalMemorySource
Where TotalMemoryBytes came from, because the three sources are not the same measurement and the floor in MinTotalMemoryBytes is a constant compared against all of them.
public enum EdgeTotalMemorySource
Fields
Unknown = 0No figure.
AndroidActivityManager = 1ActivityManager.MemoryInfo.TotalMem. Physical RAM minus what the kernel reserved before userspace saw it - about 5.4-5.7 GiB on a device marketed as 6 GB.ApplePhysicalMemory = 2NSProcessInfo.ProcessInfo.PhysicalMemory. The full nominal figure, so a nominal 6 GB device reports 6,442,450,944 exactly.GcMemoryInfo = 3GC.GetGCMemoryInfo().TotalAvailableMemoryBytes. Not physical RAM: it is the GC's available-memory figure, which on a containerised host is the container's limit. It is reported for diagnostics and the device floor is skipped for it (spec section 9.3), because a 2 GiB container limit on a 64 GiB build agent is a false refusal and a 64 GiB figure on a machine with no limit tells the budget nothing it does not already get fromAvailableMemoryBytes.