mfs(4) DG/UX R4.11 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. After the memory file system is mounted, the mount point
directory will be owned by root and have permissions 0755.
There are several options:
mount -o ramdisk,usewiredmemory /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 CAUTIONS section below.)
mount -o ramdisk,maxfilespace=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 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,maxfilecount=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.
SEE ALSO
exportfs(1M), mount(1M), umount(1M), fstab(4).
CAUTIONS
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.
Licensed material--property of copyright holder(s)