PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RAM als dyn. Datenträger - Frage zu Resourcemanager



PHBU
02.03.16, 20:33
Hallo Forumnutzer,


irgendwie bin ich heute auf den Gedanken gekommen, dass man den Arbeitsspeicher seines Computers doch auch für Dateien "missbrauchen" könnte.
Mein PC hat 32 GB RAM (was kein Mensch braucht) und ich konvertiere oft Video-/Musikdateien, was sehr lese- und schreiblastig ist.

Alles funktioniert wunderbar - ich kann Dateien erstellen, berarbeiten und löschen. Nur eine Frage steht noch offen: Wenn ich auf dem "dynamischen" Dateisystem schreibe, zeigt der Resourcemonitor von Linux keine Veränderung (s. Anhänge) auf dem RAM an (die Linie vom RAM bewegt sich nicht nach oben). Aber es wird doch auf dem Arbeitsspeicher geschrieben, oder etwa nicht?

Könntet Ihr mich da aufklären?

/etc/fstab


# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/mint--vg-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=8ea04c94-95aa-4fec-b13f-45617fdd059c /boot ext2 defaults 0 2
/dev/mapper/mint--vg-swap_1 none swap sw 0 0
//192.168.178.1/FRITZ.NAS/WD-5000AAKExternal-01/ /media/NAS cifs auto,username=PHBU,password=XXXX,iocharset=utf8,se c=ntlm 0 0
ramfs /media/RAM ramfs auto,user,rw 0 0


/etc/rc.local


#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sudo chmod -R 777 /media/RAM
exit 0


Ich bedanke mich im Voraus!


Schönen Abend noch
PHBU

fork
02.03.16, 21:34
Hast Du Dich zu dem Thema schon eingelesen?

https://wiki.ubuntuusers.de/RAM-Disk_erstellen/

Da gibt's doch bestimmt noch weitere exzellente Dokumentation.

Ansonsten: Kopiere doch mal ein bisschen mehr ins RAM und beobachte den Graphen. Mal so mindestens 20 GB.

Im übrigen bin ich mir gar nicht mal so sicher, dass man solche Tricksereien unbedingt braucht. Wenn man für das konvertieren Pipes mit Zwischenspeichern verwendet, reicht das vielleicht völlig aus - mal vorausgesetzt - das ganze funktioniert über Pipes. Ich kann mir auch vorstellen, dass durch die Read-Ahead Anpassungen(Wird das mittlerweile per default verwendet? Link auf englisch: http://arstechnica.com/civis/viewtopic.php?f=16&t=35113 ) da nur noch sehr wenig Performancegewinn durch direkte Ablage im Arbeitsspeicher drin ist, vor allem beim sequentiellen verarbeiten von Daten.

Einen richtigen Performancekracher erlebst Du, wenn Du wahlfreie Plattenzugriffe in den Arbeitsspeicher verlegst. Denn da muss sich der Kopf nicht mehr bewegen und warten bis die Platte zu den Daten gedreht hat sondern die Zugriffe laufen mit wesentlich höherer Geschwindigkeit. Du könntest ja mal testweise Dein Firefox-Profil in den RAM legen. Das könnte richtig was bringen.

Newbie314
03.03.16, 07:21
Normalerweise brauchst du da gar nichts zu optimieren, Linux tut das recht gut für dich (Plattencache etc...).

Wenn du experimentieren willst würde ich vorschlagen Quell- und Zielverzeichnis in eine RAM Disk zu legen wie fork es vorgeschlagen hat, dann vermeidest du schonmal die Schreib- und Lesezugriffe. Das könnte bei einer sehr leistungsfähigen CPU Zeitgewinn bringen.

PHBU
03.03.16, 09:52
Hallo nochmal,




Normalerweise brauchst du da gar nichts zu optimieren, Linux tut das recht gut für dich (Plattencache etc...).

Ja, ich gebe es ja zu, dass ich das so eigentlich gar nicht brauche - doch man ist ja lernwillig :).

ramfs ist ja im Gegensatz zu tmpfs von der Größe her nicht begrenzt. Deswegen habe ich das System eben geändert:

/etc/fstab


[...]
tmpfs /media/RAM tmpfs auto,user,rw,size=50% 0 0

/etc/rc.local


[...]
sudo chmod -R 777 /media/RAM
exit 0


Funktioniert auch alles einwandfrei inklusive Größenbegrenzung 20993.

Die Systemüberwachung lässt sich allerdings wieder weniger beeindrucken: 20994.

Auch sudo free -h gibt nichts anderes aus:


Gesamt Belegt Frei Gemeinsam Puffer Cache
Speicher: 31G 22G 8,7G 10G 89M 21G
-/+ Puffer/Cache: 1,3G 30G
Auslagerungsdatei: 31G 0B 31G


Also wird das ganze von Linux "nicht beachtet", aber trotzdem auf dem RAM gelegt... Komisch...


Viele Grüße
PHBU

PHBU
03.03.16, 12:34
Ich glaube fast, dass der Resourcemanager deswegen nichts anzeigt, weil er stur den benötigten RAM von den laufenden Prozessen summiert => der RAM (/media/RAM) ist kein Prozess sondern ein Laufwerk.

Ich glaube nicht, dass man das umgehen könnte. Das er also auch noch das Laufwerk mitsummiert. Oder vllt. ein anderes Resourcenmanagerprogram?

Newbie314
03.03.16, 13:18
Bist du sicher dass dein Ram Laufwerk überhaupt so viel Ram benötigt ? Mit Handbrake-gt habe ich es noch nie über ~2GB RAM hinausgeschafft, obwohl mein System auch mehr als genügend RAM zur Verfügung stellt.

PHBU
03.03.16, 13:22
Bist du sicher dass dein Ram Laufwerk überhaupt so viel Ram benötigt ?


Es gibt (Medien)-Dateien, die groß sind, gerade wenn es um HD-Filme geht...

Anders argumentiert brauche ich im Schnitt nicht mehr als 3 GB RAM für Programme im Schnitt (das ist ja der Witz...).

BetterWorld
03.03.16, 13:28
Komm einfach mal von der völlig falschen Vorstellung runter,
dass große Dateien in das RAM passen müssten.

Sie werden seit altersher gestreamt.
Schon sed nennt sich mit Fug und Recht StreamEDitor.

Das ist mit ein (Haupt) Grund, warum du keine merkliche Zunahme feststellen kannst.
(Eigentlich liegt das in der Natur von ramfs selbst begründet, aber egal.)

Newbie314
03.03.16, 16:25
Oder kurz ausgedrückt: von der Datei muss nur genug im RAM liegen dass die CPU "den Hals jederzeit voll kriegt". Alles andere bringt keine Zusatzgeschwindigkeit mehr....

PHBU
03.03.16, 17:13
Stimmt auch wieder. Naja, wenigstens wieder was neues gelernt :).

fork
03.03.16, 17:40
...und nur damit man vor lauter Grashalme-zählen die Bäume immer noch sieht: Der RAM ist der Speicher, der weg ist, wenn der Rechner runtergefahren oder ausgeschaltet wird oder abstürzt.

Nur falls einer auf die Idee kommt /etc, /var oder gar /home ins ramfs zu verschieben. ;)