GCMemoryInfo.MemoryLoadBytes Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene il carico di memoria fisica quando si è verificata l'ultima operazione di Garbage Collection.
public:
property long MemoryLoadBytes { long get(); };
public long MemoryLoadBytes { get; }
member this.MemoryLoadBytes : int64
Public ReadOnly Property MemoryLoadBytes As Long
Valore della proprietà
Carico di memoria fisica, in byte, quando si è verificata l'ultima operazione di Garbage Collection.
Commenti
Quando un processo non è in esecuzione in un contenitore o in esecuzione in un contenitore senza un limite di memoria:
- In Windows, memoryLoadBytes viene ottenuto dalla struttura MEMORYSTATUS in byte divisi per la memoria fisica totale.
- In Linux, MemoryLoadBytes viene ottenuto leggendo il campo MemAvailable da /proc/meminfo diviso per la memoria fisica totale.
Quando un processo è in esecuzione in un contenitore con un limite di memoria o quando vengono impostati limiti di cgroup:
- In Windows, il valore MemoryLoadBytes viene ottenuto dal campo Working Set Size nella struttura PROCESS_MEMORY_COUNTERS in byte diviso per il limite di memoria.
- In Linux, MemoryLoadBytes viene ottenuto dalla memoria fisica usata tramite il file CGroup Memory Usage da memory.usage_in_bytes per CGroups v1 e memory.current per CGroups v2 diviso per il limite di memoria. I limiti del cgroup non significano necessariamente che sia presente un contenitore. È possibile usare cgroup per impostare limiti per un processo regolare.
In Linux, quando non è abilitato alcun cgroup, la memoria fisica usata viene letta dal file, che fornisce le dimensioni del set residente del /proc/statm processo.
In Linux, il carico di memoria virtuale viene usato anche se è impostato il rlimit di memoria virtuale e se il carico è maggiore del carico di memoria fisica.
I dati vengono inseriti solo nella memoria fisica al primo tocco. Se è stato allocato un oggetto di grandi dimensioni ma non è stato effettivamente usato, la maggior parte della memoria non è in memoria fisica. In questo caso, l'allocazione non influirà significativamente sul carico di memoria.