Außerdem zeigt die erste Zeile
total used free shared buffers cached
Mem: 7989 7734 254 0 28 7128
-/+ buffers/cache: 578 7411
Wenn wir (cached[7128] + buffers[28] + free[254]) addieren, erhalten wir ungefähr den free[7411]-Wert der zweiten Zeile
7128 + 28 + 254 = 7410
Schauen Sie nicht auf die "Mem"-Zeile, schauen Sie auf die Zeile darunter.
Der Linux-Kernel verbraucht so viel Speicher wie er kann, um den I/O-Cache bereitzustellen (und andere unkritische Puffer, aber der Cache wird den größten Teil dieser Nutzung ausmachen). Dieser Speicher wird Prozessen überlassen, wenn sie ihn anfordern. Die Zeile „-/+ buffers/cache“ zeigt Ihnen die angepassten Werte, nachdem der E/A-Cache berücksichtigt wurde, d. h. die von Prozessen verwendete Speichermenge und die für Prozesse verfügbare Menge (in diesem Fall 578 MB verwendet und 7411 MB frei).
Die Differenz des verwendeten Speichers zwischen den Zeilen „Mem“ und „-/+ buffers/cache“ zeigt Ihnen, wie viel der Kernel für Caching-Zwecke verwendet:7734 MB – 578 MB =7156 MB im I/O-Cache. Wenn Prozesse diesen Speicher benötigen, verkleinert der Kernel einfach die Größe des I/O-Cache.