verwirrt über Buff/Cache und verfügbare Speichermetriken

verwirrt über Buff/Cache und verfügbare Speichermetriken

Ich bin völlig verwirrt über die Speichermetriken, die der freeBefehl in Linux bereitstellt. Derzeit erhalte ich die folgenden Metriken:

              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       624Mi       759Mi       8.0Mi       603Mi       1.2Gi
  1. Es werden 759 Mi freier Speicher angezeigt, was relativ viel ist. Dies ist definiert als der ungenutzte Speicher und verfügbarer Speicher ist definiert als der Speicher, der zum Starten einer neuen App ohne Auslagern verfügbar ist. Wie viel ist verfügbar größer als frei? Und ist ungenutzter Teil des verfügbaren Speichers?
  2. Buff/Cache beträgt 603 Mi. So wie ich es verstehe, wird es auch zum verfügbaren Speicher gezählt. Aber wie? Angenommen, ich möchte eine App starten, die 1,2 Gi Speicher benötigt (gesamter verfügbarer Speicher), was passiert dann mit den Daten, die sich aktuell im Buff/Cache befinden? Werden sie aus dem RAM gelöscht? Und wie kann das System in diesem Fall mit dem Puffern und Zwischenspeichern fortfahren, ohne dass Speicher übrig bleibt?!

Antwort1

Linuxatemyram.comist eine ausgezeichnete Lektüre für solche Zwecke. Aber grundsätzlich haben Sie Recht, dass der verfügbare RAM ohne Verzögerungen freigegeben wird. Aber wie Sie bereits erwähnt haben, gibt es jetzt Bedenken hinsichtlich Pufferung und Zwischenspeicherung. Dies kann sich negativ auf die Leistung Ihres Servers auswirken, muss es aber nicht.

Abgesehen davon, dass ich dies selbst teste, weiß ich persönlich bisher nicht, wie ich den RAM-Kapazitätsbedarf hierfür genau planen kann.

verwandte Informationen