PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux 1 GB RAM Disk erstellen?


Ganon
2007-02-07, 19:20:24
Hi.

Ich würde gerne unter Linux eine RAM-Disk erstellen, welche 1 GB oder mehr hat. Mein PC auf Arbeit ist ein X2 3800+ mit 2GB RAM und einem 64bit Ubuntu Dapper Drake.

Wenn ich jetzt nach dieser Anleitung versuche eine RAM-Disk zu erstellen:

http://www.vanemery.com/Linux/Ramdisk/ramdisk.html

Dann klappt das auch mit den gezeigten Daten (also eine kleine RAM-Disk). Wenn ich dieses jedoch für 1 GB machen möchte, dann meint mke2fs zwar, er hätte ein Dateisystem angelegt, aber ein mount oder ein tune2fs beschwert sich das kein Dateisystem zu finden sei.

Wie gesagt, wenn ich im Boot-Manager die RAM-Disk kleiner mache, dann geht es.

Gibt es da einen Trick, Begrenzung oder ähnliches? Oder sperrt Linux das, weil ich 50% von meinem RAM für ne RAM-Disk nutzen will?

gentoo
2007-02-07, 22:16:56
Warum verwendest du nicht tmpfs, das ist eine ramdisk die du nicht
formatieren musst und außerdem dynamisch die Grösse verwaltet.

Einfach z.B.:
mount /dev/shm/ -t tmpfs /mnt/ramdisk

lg,
gentoo

Edit:
Mit folgendem Beispiel erzeugst du eine 1GB große RAM-Disk.
mount -t tmpfs -o size=1073741824 /dev/shm /mnt/ramdisk
size muss in Bytes angegeben werden

Ganon
2007-02-08, 10:07:46
Hallo.

Danke. Das klappt schon mal. :)

Hat das jetzt eigentlich einen Geschwindgkeits-Unterschied, als wenn man direkt /dev/ram nehmen würde?

piepre
2007-02-08, 10:20:41
Edit:
Mit folgendem Beispiel erzeugst du eine 1GB große RAM-Disk.
mount -t tmpfs -o size=1073741824 /dev/shm /mnt/ramdisk
size muss in Bytes angegeben werden

man kann auch direkt Kilobyte (K), Megabyte (M) oder Gigabyte (G) angeben ;)
mount -t tmpfs -o size=1G /dev/shm /mnt/ramdisk

gentoo
2007-02-08, 11:01:39
Hat das jetzt eigentlich einen Geschwindgkeits-Unterschied, als wenn man direkt /dev/ram nehmen würde?

Nein - er verwendet dafür den virtual memory;
Um exakt zu sein - du allockierst dir dafür ganze Pages für dein Ramdisk.


man kann auch direkt Kilobyte (K), Megabyte (M) oder Gigabyte (G) angeben


Gut zu wissen - Man lernt doch nie aus ;)

lg,
gentoo

Gast
2007-02-08, 11:44:35
Für was braucht man eine RAM- Disk? Mir ist schon klar wegen der Geschwindigkeit aber für was kann man das sinnvoll benutzen?

Ganon
2007-02-08, 12:32:16
Na sagst du doch schon, wegen der Geschwindigkeit. Halt ein paar Dateioperationen beschleunigen. Brachte beim ersten Test auch schon was. Statt 2 Stunden nur 30 Minuten.

TheGamer
2007-02-08, 13:47:28
Für was braucht man eine RAM- Disk? Mir ist schon klar wegen der Geschwindigkeit aber für was kann man das sinnvoll benutzen?

z.B bei Gentoo zu emergen, kann man mitunter sehr schön beschleunigen, nciht immer aber oft. Mein rekord war mal die Kompilierzeit eines Pakets (glaube es eh der xserver -> xorg-x11) auf 1 Drittel der alten Zeit zu reduzieren


#!/bin/bash
MEMSIZE=850M
mounted=false

. /sbin/functions.sh

mounttmpfs() {
mount -t tmpfs tmpfs -o size=$MEMSIZE /var/tmp/portage
mounted="true"
}

compile() {
einfo "emerging ${*}"
emerge ${*}
}

unmount() {
ebegin "unmounting tmpfs"
umount -f /var/tmp/portage
eend $?
}

ebegin "Mounting $MEMSIZE of memory to /var/tmp/portage"
if [ -z "$(mount | grep /var/tmp/portage)" ]
then
mounttmpfs
else
eerror "tmpfs already mounted!"
exit 0
fi
eend $?

compile ${*}

if [ -n "$mounted" ]
then
unmount
fi

http://gentoo-wiki.com/TIP_Speeding_up_portage_with_tmpfs hat jemand geschrieben den ich kenne