Linux Memory Check Rechenfehler?

Hallo zusammen,

kann es sein das sich hier der Check verrechnet?
CRIT - RAM used: 8.55 GB of 15.66 GB, Swap used: 21.26 MB of 4 GB, Total virtual memory used: 8.57 GB of 19.66 GB (43.6%), Committed: 43.45 GB (221.0% of RAM + Swap, warn/crit at 100.0%/150.0%)

free -h gibt folgendes aus:

free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        8,5G        3,8G        506M        3,3G        6,4G
Swap:          4,0G         21M        4,0G

Oder sehe ich den Wald vor lauter Bäumen nicht?

GruĂź Andreas

Hallo @afineske,

welcher Wert scheint fĂĽr dich nicht zu passen?

221% RAM + Swap sieht mir sehr viel aus

Das CRIT bezieht sich hier auf den Abschnitt “Committed”. Dieser Werte taucht in der Ausgabe von free nicht auf, sondern ist die Summe des (virtuellen) Speichers, der von Prozessen angefordert wurde (aber noch nicht zwingend belegt ist).

Ein Overcommit (wie bei dir: 221%) kann vollkommen normal sein, das hängt aber auch von der jeweiligen Workload ab. Ohne das hier gezeigte System näher zu kennen: Ich würde sagen, dem geht’s soweit ganz gut - rund die Hälfte des belegten RAM steckt in Buffer/Cache, kaum Swap … offensichtlich kein besonders hoher Speicherdruck (aber das ist natürlich auch nur eine Momentaufnahme und sagt nichts darüber aus, was ggf ein Prozess in der nächsten Minute mit dem angeforderten RAM macht!)

Die Limits von 100%/150% dürften default sein. Wenn hier keine Benachrichtigung gewünscht ist, kannst du die Limits entweder hochsetzen oder ganz deaktivieren (durch explizites “Do not impose limits” für diesen Parameter des Checks.

3 Likes

Vielen Dank für diese Ausführliche Erklärung! Was für Werte bräuchte man noch um da was genaues drüber sagen zu können?
Die LoadAVG liegt bei:

cat /proc/loadavg
0.01 0.09 0.09 3/4537 28319

Der Check greift auf die Werte aus /proc/meminfo zurück, nur falls du die auch direkt anschauen möchtest.

Ansonsten selbst schauen welche Prozesse wieviel virtuellen Speicher allokiert haben, z.B .mit top und dann nach “VIRT” sortieren. Oder sowas wie ps aux --sort -vsz | head.

Allgemein ganz nett finde ich auch noch “smem” (ggf. nachinstallieren), z.B. mit smem -twk siehst du ganz gut, was den RAM belegt (bei dir also die 8.5G used laut free), ob Kernel oder Userspace, ob statisch oder dynamisch/Cache.

Also nichts los :slight_smile:

1 Like

Als kleine Ergänzung noch zu der ausführlichen Beschreibung von @martin.schwarz, bei meinen Systemen betrifft eine ähnliche Meldung mit Comitted Memory meist Datenbank Server welche von Haus aus scheinbar erstmal sehr viel Speicher anfordern egal ob gebraucht wird oder nicht.

Das kann durchaus auch mit hugepages und anonym hugepages zutun haben. Wenn diese nicht korrekt berechnet werden, kann es zum over commitment fĂĽr Speicher kommen und stellt sich beim Monitoring wie von dir beschrieben dar.

1 Like

Hallo zusammen,

hier handelt es sich um eine Docker Host der wohl ähnlich wie ein Datenbankserver Speicher vor reserviert.

Ich Danke Euch fĂĽr Eure Hilfe.

GruĂź Andreas Fineske

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact @fayepal if you think this should be re-opened.