Auslagern, um den Cache zu vergrößern?

0

Ich benutze einen Server mit 128 GB RAM. Während eines Jobs sehe ich eine häufige Auslagerungsnutzung.

Die von oben raus setzen

top - 05:14:51 up 16:52,  2 users,  load average: 3.99, 5.16, 5.37
Tasks: 760 total,   1 running, 759 sleeping,   0 stopped,   0 zombie
Cpu(s): 10.9%us,  0.2%sy,  0.0%ni, 88.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%
Mem:  132050336k total, 130871212k used,  1179124k free,   387620k buffers
Swap:  4194300k total,    64396k used,  4129904k free, 117989588k cached

Die Ausgabe von frei

$ free -g
            total       used       free     shared    buffers     cached
Mem:           125        124          1          0          0        112
-/+ buffers/cache:         11        113 
Swap:            3          0          3


Ich verstehe, dass derzeit nur 12 GB Arbeitsspeicher von Prozessen verwendet werden, 113 GB sind os-Cache.
Ich verstehe, dass der vom Cache verwendete Speicher nicht unbedingt erforderlich ist. Bei hoher Speichernutzung wird dieser Cache freigegeben und Prozessen zur Verfügung gestellt, die Speicher benötigen.

Dennoch sehe ich die Warnung in meinem Überwachungstool 1260 pages were swapped to disk in the previous 15 minute(s).
Tauscht das Betriebssystem Seiten aus, nur um den Cache des Dateisystems im Arbeitsspeicher zu erhöhen? Wenn ja, wirkt sich dies auf die Leistung des Systems aus (aufgrund häufigen Austauschs)?

Shanmuga
quelle
Ist dies ein "echter" Hardware-Server, auf dem nur Linux ausgeführt wird? Oder handelt es sich um einen virtuellen Server, der von einem Unternehmen gehostet wird und Sie möglicherweise dazu bringt, die 128 GB unter Dutzenden anderer Benutzer zu "teilen" (die alle glauben, dass sie 128 GB zum Spielen haben)
Xen2050
Es ist ein Bare-Metal-Server (echte Hardware), auf dem Centos 6.7 im Remote-Rechenzentrum ausgeführt wird
Shanmuga
Sind Sie sicher, dass Sie Speicher " besser " zuweisen können , und sind Sie sicher, dass " häufige Auslagerungsnutzung " auftritt ? Meiner Erfahrung nach wird Linux den Speicher nicht austauschen, wenn er verwendet wird, während der zwischengespeicherte Speicher gelöscht werden kann (nicht verwendet wird). Es ist möglich, dass der ausgelagerte Speicher z. B. zu Dämonenprozessen gehört, die installiert wurden, aber eine leere Konfiguration haben. Das aus dem Weg zu räumen, ist eigentlich nett. In beiden Fällen können Sie das Verhalten anpassen, indem Sie die sogenannte Austauschbarkeit des Kernels ändern . Im Web finden Sie dazu zahlreiche Diskussionen.
Führen Sie CMD am
Übrigens kann sogar der Titel Ihrer Frage falsch sein, da er eine Ursache und eine Auswirkung hat - und die eigentliche Frage ist, was Ihre Maschine dort tut (Sie sagen es uns nicht). Wenn die ausgelagerten Daten nie verwendet werden, ist es besser, das gesamte Dateisystem im Cache zu belassen, als RAM für vollständig unbenutzte Daten zu verschwenden.
Führen Sie CMD am
@ClassStacker Mein Computer ist Teil eines Clusters. Auf diese Weise konnte ich verschiedene Anwendungen so einstellen, dass weniger Speicher benötigt wird (was mehr Zeit in Anspruch nimmt). Das habe ich mit einer besseren Zuordnung gemeint . Auf diesem Computer wird derzeit ein Stapelverarbeitungsjob ausgeführt.
Shanmuga