mfs(4) DG/UX 4.30 mfs(4)
NAME
mfs - memory file system
DESCRIPTION
The DG/UX kernel provides support for memory file systems.
These are file systems that live entirely in memory without
any backing store on disk. Files in memory file systems do
not persist between system instantiations. Memory file
systems are faster than normal file systems and are ideal
for temporary files and for putting common executables in
them to avoid any disk I/O on execution. A memory file
system has the same semantics as a normal DG/UX file system.
Memory file systems can be NFS-exported just like regular
DG/UX file systems.
A memory file system can be instantiated via the
mount(1M)command:
mount -o ramdisk /dev/m1 /pdd/memory
The "ramdisk" option instructs the DG/UX file system to
create a memory file system instead of trying to mount the
device "/dev/m1" on the directory. The "/dev/m1" pseudo
device must not exist at the time of the mount command. The
pseudo device node will be created during the mount to
reference the mounted on directory. Any naming convention
can be used for this memory device with the exception that
the name must reference a path in /dev. The example name
"/pdd/memory" is the directory in the DG/UX file system
hierarchy where the memory file system will be created. This
may be any directory.
There are several options:
mount -o ramdisk,use_wired_memory /dev/m1 /pdd/memory
"use_wired_memory" is a boolean option that will instruct
the file manager to use wired memory to hold data for the
memory file system instead of unwired memory (the default is
to use unwired memory). This is useful if you have lots of
expansion memory for the file system, since data in the file
system will always reside in memory and never be swapped
out. A system administrator is strongly cautioned not to
use this feature on a diskless workstation.
mount -o ramdisk,max_file_space=20000 /dev/m1 /pdd/memory
"max_file_space=nnn" gives the number of blocks that can be
allocated to the memory file system to hold data. No space
is ever allocated up front, so using a high value will not
lead to trouble. The amount of actual space that can be
given to a memory file system is the minimum of the value
Licensed material--property of copyright holder(s) Page 1
mfs(4) DG/UX 4.30 mfs(4)
assigned by this attribute and the total amount of the
resource (wired or unwired memory) available on the system.
If space is not available to allocate blocks to a memory
file system, then the operation that requests space will
return an ENOSPC result. The default amount of space
allocated to a memory file system is 2048 blocks. The
system administrator is cautioned not to over-commit the
swap space available to the system. Because of the way
DG/UX allocates memory, you could establish a large memory
file system, start some very large application, then fill
the memory file system, which could exhaust the swap space
on the system. This will cause the system to thrash and
kill random processes in order to recover the swap space.
mount -o ramdisk,max_file_count=50000 /dev/m1 /pdd/memory
"max_file_count=XXX" gives the number file nodes that can be
allocated in the memory file system. This is counted
separately from the "max_file_space" attribute. The default
number is 16384.
Memory file systems can be unmounted via the umount(1M)
command:
umount /pdd/memory
The umount will not work until all the files have been
removed from the file system. This is to protect against
unintended data loss.
There is no limit to the number of memory file systems that
may be created on a given system. Memory limitations, both
wired and unwired, will ultimately govern how large they may
grow. System administrators are cautioned not to mount a
memory file system on /tmp, since the recovery mechanism of
ex(1) and vi(1) depends on the persistence of temporary
files in the /tmp directory. System administrators are also
cautioned against using wired memory unless their system has
enough expansion memory.
SEE ALSO
mount(1M), umount(1M), fstab(4), exportfs(8).
Licensed material--property of copyright holder(s) Page 2