mfs(4) DG/UX 4.31 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. (But see the WARNINGS section below.)
mount -o ramdisk,max_file_space=20000 /dev/m1 /pdd/memory
"max_file_space=n" 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
assigned by this attribute and the total amount of the
Licensed material--property of copyright holder(s) Page 1
mfs(4) DG/UX 4.31 mfs(4)
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.
mount -o ramdisk,max_file_count=50000 /dev/m1 /pdd/memory
"max_file_count=n" 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.
WARNINGS
Do not over-commit the swap space available to the system.
Because of the way DG/UX allocates memory, if you establish
a large memory file system, start some very large
application, then fill the memory file system, you might
exhaust the swap space on the system. This will cause the
system to thrash and to kill random processes in order to
recover the swap space.
Do not 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.
Do not use the use_wired_memory option unless your system
has enough expansion (physical) memory.
Use of the use_wired_memory option is also strongly
discouraged on diskless workstations.
SEE ALSO
mount(1M), umount(1M), fstab(4), exportfs(8).
Licensed material--property of copyright holder(s) Page 2