%20und%20%C3%BCberm%C3%A4%C3%9Figer%20zwischengespeicherter%20RAM.png)
Ich habe über KVM-libvirt (virt-manager) eine virtuelle Maschine mit Windows 10 darauf eingerichtet und bekomme ein merkwürdiges Verhalten auf der Hostseite. Ich verwende einen 64-Bit-Arch-Host mit 24 GB RAM, von denen 12 ihm und die anderen 12 der VM zugewiesen sind.
Nachdem ich die VM gestartet und sie eine Weile (nicht zu lange, vielleicht eine Stunde) laufen gelassen habe, wird der gesamte verbleibende RAM meines Hosts gepuffert/zwischengespeichert. Im Moment erhalte ich beispielsweise Folgendes von free -m
:
total used free shared buff/cache available
Mem: 24064 13887 253 110 9923 9957
Swap: 4095 1313 2782
Vor dem Starten der VM hatte ich ein paar Anwendungen ausgeführt, die jedoch nicht mehr als etwa 2 GB RAM beanspruchten, und seitdem wurde nichts Neues geöffnet, nur ein bisschen im Internet gesurft (eigentlich schreibe ich diese Frage).
Ich habe viel darüber gelesen, dass Linux RAM zwischenspeichert, weil freier RAM verschwendeter RAM ist und so weiter, aber das führt dazu, dass fast alles, was auf dem Host läuft, ausgelagert wird. Und das ist ein großes Problem für mich, weil allesAlsolangsam.
Soweit ich das beurteilen kann, sollte RAM-Caching nicht dazu führen, dass Speicher ausgelagert wird. Ich weiß, dass Linux intelligenter sein soll alsMichzur effizienten Speichernutzung, beispielsweise, dass ich den Swap und/oder Cache nicht leeren sollte … aber alles auszulagern und dadurch das System erheblich zu verlangsamen, klingt für mich weder klug noch effizient.
Was könnte da los sein? Speichert Linux die Festplattenzugriffe der VM im Cache und nutzt deshalb immer den gesamten Rest meines RAM? Die VM ist in einem Disk-Image installiert. Soll ich versuchen, eine separate physische Festplatte dafür zu verwenden?