Das sollte sich nie ändern. Es könnte ein Hinweis auf einige fehlerhafte Stellen im RAM sein. Sie können Ihren Arbeitsspeicher mit Memtest86+ diagnostizieren.
Abgesehen davon könnte sich diese Zahl möglicherweise nur ändern, wenn Sie einen Gast einer virtuellen Maschine analysieren. Möglicherweise passt der Host, auf dem der VM-Gast ausgeführt wird, den dem Gast zugewiesenen Arbeitsspeicher an.
Änderung Nr. 1
Ich habe diesen Forenbeitrag ausgegraben, in dem das potenzielle Speicherleck durch Kernel-Module diskutiert wird, was zu einer Änderung von MemTotal führen könnte.
Auszug aus:Betreff:Wie bestimmen Sie die Größe des Systemspeichers?
Am 30.07.08 schrieb Bill McGonigle:
Am 30. Juli 2008 um 10:03 schrieb Thomas Charron:
MemTotal kann sich ändern. MemTotal zeigt keinen Speicher an, der von den Kernel-Binärdateien selbst im Speicher verwendet wird, es gibt jedoch Situationen, in denen Module Speicher verlieren können, was ebenfalls aus MemTotal entfernt wird. Ich erinnere mich nicht an die Einzelheiten dieses Vorgangs, aber ich weiß, wovon Paulis jetzt spricht. Nun, das ist nur ein Fehler, wenn Sie MemTotal als den physischen Speicher definieren, der in einer Maschine vorhanden ist. Wenn Sie es als den gesamten für den Kernel verfügbaren Speicher betrachten, funktioniert es richtig, oder?
Ja, und der „Bug“ ist, wenn diese Zahl sinkt, bedeutet das, dass etwas leckt, auch bekannt als „schlechter Kernel“. Zumindest potentiell 'schlechte' (sprich potentiell fehlerhafte) Kernel-Module.
Ich fühlte mich nicht wohl dabei, einen Fehler im Kernel oder einem Modul zu haben, also habe ich weiter gegraben und herausgefunden ... dass MemTotal
kann sich regelmäßig ändern, nach unten oder nach oben. Es ist keine Konstante und dieser Wert wird definitiv an vielen Stellen unter verschiedenen Umständen durch den Kernel-Code modifiziert.
Z.B. virtio_balloon kmod kann MemTotal
verringern sowie wieder zurück erhöhen. Dann exportiert mm/memory_hotplug.c natürlich [add|remove]_memory
, die beide auch von vielen Fahrern verwendet werden.