
Ich betreibe Web und DB auf einem einzigen Server mit 4 GB RAM. Als ich den Speicher mit free -m überprüfte, konnte ich sehen, dass der Großteil des Speichers zwischengespeichert ist.
free -m
total used free shared buff/cache available
Mem: 3534 1507 973 25 1052 1676
Swap: 8191 0 8191
Gibt es eine Möglichkeit herauszufinden, welcher Prozess aus dem Cache bedient wird oder welche einen Cache erhalten, da ich jedes Mal den Synchronisierungsbefehl verwenden muss, um den freien Speicher freizugeben?
Antwort1
Im Allgemeinen sollten SienichtTU das.Freier Speicher ist ungenutzter Speicher, eine verschwendete Ressource. Der Kernel weiß, was er tut: Solange es keine bessere Verwendung für den Speicher gibt, wird er ihn für I/O-Puffer oder den Festplattencache verwenden. Wenn ein Prozess mehr Speicher für laufende Prozesse benötigt, wird der Kernel ihn automatisch zuordnen.
Es sei denn, Sie könnenmessenein Ungleichgewicht zwischen der Nutzung des Swap-Speichers und des Arbeitsspeichers besteht, sollten Sie die Parameter zur Speicherzuweisung nicht beeinflussen.