Questo non dovrebbe mai cambiare. Potrebbe essere un'indicazione di alcune posizioni difettose all'interno della RAM. Puoi diagnosticare la tua RAM usando Memtest86+.
A parte questo, l'unico altro modo in cui il numero potrebbe cambiare potrebbe essere se stessi analizzando un guest di una macchina virtuale. Forse l'host su cui è in esecuzione il guest VM sta regolando la RAM assegnata al guest.
Modifica n. 1
Ho scovato questo post sul forum che discute la potenziale perdita di memoria da parte dei moduli del kernel che potrebbe portare alla modifica del MemTotal.
estratto da:Re:Come si determina la quantità di memoria di sistema?
Il 30/07/08, Bill McGonigle ha scritto:
Il 30 luglio 2008, alle 10:03, Thomas Charron ha scritto:
MemTotal può cambiare. MemTotal non mostra la memoria utilizzata dai binari del kernel stessi in memoria, tuttavia ci sono situazioni in cui i moduli possono perdere memoria che viene rimossa anche da MemTotal. Non ricordo i dettagli di questo avvenimento, ma so di cosa parla ora Paulis. Beh, questo è solo un bug se definisci MemTotal come la memoria fisica presente in una macchina. Se la vedi come memoria totale disponibile per il kernel, sta funzionando correttamente, giusto?
Sì, e il "bug" è quando quel numero scende, significa che qualcosa perde, ovvero un "nocciolo difettoso". Almeno moduli del kernel potenzialmente 'cattivi' (leggi potenzialmente bacati).
Non mi sentivo a mio agio con un bug nel kernel o in un modulo, così ho scavato più a fondo e ho scoperto... che MemTotal
può cambiare regolarmente, verso il basso o verso l'alto. Non è una costante e questo valore è sicuramente modificato dal codice del kernel in molti punti, in varie circostanze.
Per esempio. virtio_balloon kmod può diminuire MemTotal
così come aumentarlo di nuovo. Quindi, ovviamente, mm/memory_hotplug.c sta esportando [add|remove]_memory
, entrambi utilizzati anche da molti driver.