GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zwischenspeichern/Vorladen von Dateien unter Linux in den Arbeitsspeicher

Lösung 1:

vmtouch scheint ein gutes Werkzeug für diesen Job zu sein.

Höhepunkte:

  • abfragen, wie viel von einem Verzeichnis zwischengespeichert wird
  • abfragen, wie viel von einer Datei zwischengespeichert ist (auch welche Seiten, grafische Darstellung)
  • Datei in den Cache laden
  • Datei aus Cache entfernen
  • Dateien im Cache sperren
  • als Daemon ausführen

vmtouch-Handbuch

BEARBEITEN: Die in der Frage gestellte Verwendung ist in Beispiel 5 auf der vmtouch-Homepage aufgeführt

Example 5

Daemonise and lock all files in a directory into physical memory:

vmtouch -dl /var/www/htdocs/critical/

EDIT2: Wie in den Kommentaren erwähnt, ist jetzt ein Git-Repository verfügbar.

Lösung 2:

Dies ist auch mit dem vmtouch Virtual Memory Toucher möglich Dienstprogramm.

Mit dem Tool können Sie den Dateisystem-Cache auf einem Linux-System steuern. Sie können eine bestimmte Datei oder ein bestimmtes Verzeichnis im VM-Cache-Subsystem erzwingen oder sperren oder damit überprüfen, welche Teile einer Datei/eines Verzeichnisses in der VM enthalten sind.

How much of the /bin/ directory is currently in cache?

$ vmtouch /bin/
           Files: 92
     Directories: 1
  Resident Pages: 348/1307  1M/5M  26.6%
         Elapsed: 0.003426 seconds

Oder...

Let's bring the rest of big-dataset.txt into memory...

$ vmtouch -vt big-dataset.txt
big-dataset.txt
[OOo                                                 oOOOOOOO] 6887/42116
[OOOOOOOOo                                           oOOOOOOO] 10631/42116
[OOOOOOOOOOOOOOo                                     oOOOOOOO] 15351/42116
[OOOOOOOOOOOOOOOOOOOOOo                              oOOOOOOO] 19719/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOo                        oOOOOOOO] 24183/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo                  oOOOOOOO] 28615/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo              oOOOOOOO] 31415/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo      oOOOOOOO] 36775/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo  oOOOOOOO] 39431/42116
[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO] 42116/42116

           Files: 1
     Directories: 0
   Touched Pages: 42116 (164M)
         Elapsed: 12.107 seconds

Lösung 3:

Der Trick eines armen Mannes, um Dinge in den Dateisystem-Cache zu bekommen, besteht darin, sie einfach zu kategorisieren und nach /dev/null umzuleiten.

Lösung 4:

Linux speichert so viel Festplatten-E/A wie möglich im Arbeitsspeicher. Dies sind die Cache- und Pufferspeicherstatistiken. Es wird wahrscheinlich einen besseren Job machen als Sie, wenn es darum geht, die richtigen Dinge zu speichern.

Wenn Sie jedoch darauf bestehen, Ihre Daten im Arbeitsspeicher zu speichern, können Sie mit tmpfs oder ramfs ein RAM-Laufwerk erstellen. Der Unterschied besteht darin, dass ramfs den gesamten von Ihnen angeforderten Speicher zuweist, während tmpfs nur den Speicher verwendet, den Ihr Blockgerät verwendet. Mein Gedächtnis ist etwas eingerostet, aber Sie sollten in der Lage sein:

 # mount -t ramfs ram /mnt/ram 

oder

 # mount -t tmpfs tmp /mnt/tmp

und kopieren Sie dann Ihre Daten in das Verzeichnis. Offensichtlich gehen Ihre Daten verloren, wenn Sie den Rechner ausschalten oder diese Partition aushängen.

Lösung 5:

Nach einigem ausführlichen Lesen der Kernel-Swapping- und Page-Caching-Funktionen von 2.6 fand ich 'fcoretools'. Welches aus zwei Werkzeugen besteht;

  • fincore:Gibt an, wie viele Seiten die Anwendung im Kernspeicher gespeichert hat
  • fadvise:Erlaubt Ihnen, den Hauptspeicher (Page-Cache) zu manipulieren.

(Falls jemand anderes das interessant findet, poste ich es hier)


Linux
  1. So schreiben Sie Protokolldateien im RAM mit Log2ram unter Linux

  2. So löschen Sie Speicherpuffer und Cache in Linux

  3. Linux – Wie gibt man dem Dateisystem-Cache Ram?

  4. Linux-Lese-Swap zurück in den Speicher machen

  5. Inaktiver Linux-Speicher

Rm-Befehl unter Linux

Swapiness unter Linux:Alles, was Sie wissen müssen

So synchronisieren Sie das Browserprofil in Tmpfs (RAM) unter Linux

So führen Sie unter Linux mehrere PDF-Dateien zu einem PDF zusammen

So löschen Sie den RAM-Speicher-Cache, den Puffer und den Swap-Speicher unter Linux

Finden Sie die RAM-Größe in Linux