← Back to team overview

sslug-teknik team mailing list archive

Re: RAM-disks / flash ram (Part II)

 

Peter Makholm wrote:

[klip løbende definering af RAM disks]

> Tilsyneladende skal alle RAM-diske være lige store og størelsen skal
> være angivet når ramdisk-driveren initialiseres. Det bedste bud er
> derfor nok at oversætte ramdisk-driveren som et modul, du så kan
> reinitialiserer (rmmod; insmod) uden at boote.

Det lyder spøjst. Jeg har opstøvet et script fra [
http://www.tldp.org/LDP/abs/html/zeros.html#RAMDISK ], men jeg kan ikke
få det til at virke (den sætter stadig størrelsen til standard og der er
ingen errors):

<CITAT>

#!/bin/bash
# ramdisk.sh

#  A "ramdisk" is a segment of system RAM memory
#+ that acts as if it were a filesystem.
#  Its advantage is very fast access (read/write time).
#  Disadvantages: volatility, loss of data on reboot or powerdown.
#                 less RAM available to system.
#
#  What good is a ramdisk?
#  Keeping a large dataset, such as a table or dictionary on ramdisk
#+ speeds up data lookup, since memory access is much faster than disk
access.


E_NON_ROOT_USER=70             # Must run as root.
ROOTUSER_NAME=root

MOUNTPT=/mnt/ramdisk
SIZE=2000                      # 2K blocks (change as appropriate)
BLOCKSIZE=1024                 # 1K (1024 byte) block size
DEVICE=/dev/ram0               # First ram device

username=`id -nu`
if [ "$username" != "$ROOTUSER_NAME" ]
then
  echo "Must be root to run \"`basename $0`\"."
  exit $E_NON_ROOT_USER
fi

if [ ! -d "$MOUNTPT" ]         #  Test whether mount point already
there,
then                           #+ so no error if this script is run
  mkdir $MOUNTPT               #+ multiple times.
fi

dd if=/dev/zero of=$DEVICE count=$SIZE bs=$BLOCKSIZE  # Zero out RAM
device.
mke2fs $DEVICE                 # Create an ext2 filesystem on it.
mount $DEVICE $MOUNTPT         # Mount it.
chmod 777 $MOUNTPT             # So ordinary user can access ramdisk.
                               # However, must be root to unmount it.

echo "\"$MOUNTPT\" now available for use."
# The ramdisk is now accessible for storing files, even by an ordinary
user.

#  Caution, the ramdisk is volatile, and its contents will disappear
#+ on reboot or power loss.
#  Copy anything you want saved to a regular directory.

# After reboot, run this script again to set up ramdisk.
# Remounting /mnt/ramdisk without the other steps will not work.

exit 0

</CITAT>

Metoden virker for mig at se ellers til at være god nok??

> Det flusher bare alle ramdiske, så det er nok primært brugbart i en
> udviklingssituation.

Om ikke andet kan jeg bruge det som en sidste udvej :). Men det er nok
nemmere bare at sætte tilstrækkelig plads af ved boot...

Mvh.

--
Rune


References