• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

RAM Disk unter Mac OS X?

aPuschel1972

Englischer Kantapfel
Registriert
31.05.06
Beiträge
1.095
Hallo,

ich habe hier einen iMac mit 24GB Ram.

Gibt es eigentlich unter Mac OS X eine Ramdisk, so wie es diese früher mal bei MS-DOS gab?

Gruß,

Martin
 
Gab's da nicht schon mal einen Thread?
Zur Sicherung scheint mir's zu riskant, wäre doch nur eine Beschleunigung für Dateien, die ständig wiedergeladen werden, aber die bleiben bei OS X doch sowieso im RAM, oder?
 
Da UNIX zu einer Zeit entwickelt wurde als Disketten und Bandlaufwerke das Maß aller Dinge war gibt es unter UNIX natürlich auch die Möglichkeit eine RAM-Disk anzulegen. Mit der MacOs-GUI geht das nicht, man benötigt einen relativ komplexen Terminalbefehl. Die Frage sei aber erlaubt was das bringen soll. Die paar GB, die als RAM-Disk möglich sind, werden auch bei einer modernen HDD oder gar SSD so schnell geschrieben, dass eine RAM-Disk kaum mehr sinnvoll ist.

MACaerer
 
Gibt es eigentlich unter Mac OS X eine Ramdisk, so wie es diese früher mal bei MS-DOS gab?
Ja, aber genau wie unter MS-DOS belegt diese einen statischen Bereich von nicht auslagerungsfähigem Speicher ("wired memory"), der die dynamische Speicherverwaltung massiv an der sinnvollen Arbeit hindert. ---> Nicht produktiv.
(Nicht auslagerungsfähiges RAM wird in der Statistik der Aktivitätsanzeige als "reserviert" in rot dargestellt.)
RAMdisks sind nur sinnvoll wenn man von schreibgeschützten Medien startet und beschreibbare Mountpoints erzeugen muss (--> Installationssystem, NetBoot).
Ansonsten hält der "unified buffer cache" ohnehin schon jede lesend oder schreibend geöffnete Datei so lange im RAM vor wie sinnvoll und möglich. Es macht wenig erkennbaren Sinn, das über ein virtuelles Diskdevice zu tun, wenn es ohnehin schon der Normalfall ist.
Du kannst das ganz einfach in seiner Wirkung nachvollziehen:
Code:
[COLOR="#8B4513"]# Erzeuge eine Testdatei von 100 MB Grösse[/COLOR]

dd if=/dev/random of=test bs=1m count=100

[COLOR="#8B4513"]# Erzeuge von dieser Datei eine Kopie, wobei die Verwendung des
# Buffercache für diesen Vorgang vorsätzlich unterlassen wird[/COLOR]

ditto --nocache test test_Kopie

[COLOR="#8B4513"]# Jetzt liest du nacheinander beide Dateien ein, schickst 
# den Output ins Nirvana und stoppst die dafür benötigte Zeit[/COLOR]

time cat test > /dev/null
time cat test_Kopie > /dev/null

[COLOR="#8B4513"]# Siehst du den Unterschied?
# Wiederhole das für beide Dateien[/COLOR]

time cat test > /dev/null
time cat test_Kopie > /dev/null

[COLOR="#8B4513"]# Siehst du den Effekt?
# 'test' musste überhaupt nicht eingelesen werden,
# weil die Datei schon beim Schreiben durch 'dd' im
# Speicher zwischengepuffert wurde.
# Die Kopie dagegen wird erst beim ersten Einlesen durch 'cat'
# ins RAM gepuffert - und dort bleibt sie eine Weile.
# Stoppe die Zeit ruhig später noch mal[/COLOR]
 
Zuletzt bearbeitet:
Meine Erfahrung mit einer OS X RAM-Disk:
Xcode Builds mit SATA2-SSDs könnten schneller sein. Also alles von Xcode auf eine RAM Disk gestellt.
Absolut kein Unterschied bemerkbar!
 
Mal abgesehen von der Sinnhaftigkeit: Ja, das ist mit Terminalbefehlen relativ einfach möglich. Alternativ gibts dafür HIER ein kleines Tool. Das sieht dann so aus
Bildschirmfoto 2013-10-19 um 13.44.38.png