Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MDCONFIG(8)             FreeBSD System Manager's Manual            MDCONFIG(8)

     mdconfig - create and control memory disks

     mdconfig -a -t type [-n] [-o [no]option] ... [-f file] [-s size]
              [-S sectorsize] [-u unit] [-x sectors/track] [-y heads/cylinder]
     mdconfig -d -u unit [-o [no]force]
     mdconfig -r -u unit -s size [-o [no]force]
     mdconfig -l [-n] [-v] [-f file] [-u unit]
     mdconfig file

     The mdconfig utility creates and controls md(4) devices.

     Options indicate an action to be performed:

     -a      Attach a memory disk.  This will configure and attach a memory
             disk with the parameters specified and attach it to the system.
             If the -u unit option is not provided, the newly created device
             name will be printed on stdout.

     -d      Detach a memory disk from the system and release all resources.

     -r      Resize a memory disk.

     -t type
             Select the type of the memory disk.

             malloc  Storage for this type of memory disk is allocated with
                     malloc(9).  This limits the size to the malloc bucket
                     limit in the kernel.  If the -o reserve option is not
                     set, creating and filling a large malloc-backed memory
                     disk is a very easy way to panic the system.

             vnode   A file specified with -f file becomes the backing store
                     for this memory disk.

             swap    Storage for this type of memory disk is allocated from
                     buffer memory.  Pages get pushed out to swap when the
                     system is under memory pressure, otherwise they stay in
                     the operating memory.  Using swap backing is generally
                     preferred instead of using malloc backing.

             null    Bitsink; all writes do nothing, all reads return zeroes.

     -f file
             Filename to use for the vnode type memory disk.  The -a and -t
             vnode options are implied if not specified.

     -l      List configured devices.  If given with -u, display details about
             that particular device.  If given with -f file, display md(4)
             device names of which file is used as the backing store.  If both
             of -u and -f options are specified, display devices which match
             the two conditions.  If the -v option is specified, show all

     -n      When printing md(4) device names, print only the unit number
             without the md(4) prefix.

     -s size
             Size of the memory disk.  Size is the number of 512 byte sectors
             unless suffixed with a b, k, m, g, t, or p which denotes byte,
             kilobyte, megabyte, gigabyte, terabyte and petabyte respectively.
             When used without the -r option, the -a and -t swap options are
             implied if not specified.

     -S sectorsize
             Sectorsize to use for the memory disk, in bytes.

     -x sectors/track
             See the description of the -y option below.

     -y heads/cylinder
             For malloc or vnode backed devices, the -x and -y options can be
             used to specify a synthetic geometry.  This is useful for
             constructing bootable images for later download to other devices.

     -o [no]option
             Set or reset options.

                     For vnode backed devices: avoid IO_SYNC for increased
                     performance but at the risk of deadlocking the entire

                     Allocate and reserve all needed storage from the start,
                     rather than as needed.

                     Enable clustering on this disk.

                     Enable/disable compression features to reduce memory

                     Disable/enable extra sanity checks to prevent the user
                     from doing something that might adversely affect the
                     system.  This can be used with the -d flag to forcibly
                     destroy an md(4) disk that is still in use.

                     Enable/disable readonly mode.

     -u unit
             Request a specific unit number or device name for the md(4)
             device instead of automatic allocation.  If a device name is
             specified, it must be start with ``md'' followed by the unit

     The last form, mdconfig file, is provided for convenience as an
     abbreviation of mdconfig -a -t vnode -f file.

     Create a disk with /tmp/boot.flp as backing storage.  The name of the
     allocated unit will be printed on stdout, such as ``md0'':

           mdconfig /tmp/boot.flp

     Create a 1 gigabyte swap backed memory disk named ``md3'':

           mdconfig -s 1g -u md3

     Detach and free all resources used by /dev/md3:

           mdconfig -du md3

     Show detailed information on current memory disks:

           mdconfig -lv

     Resize the ``md3'' memory disk to 2 gigabytes:

           mdconfig -rs 2g -u md3

     Create a 1 gigabyte swap backed disk, initialize an ffs(7) file system on
     it, and mount it on /tmp:

           mdconfig -s 1g -u md10
           newfs -U /dev/md10
           mount /dev/md10 /tmp
           chmod 1777 /tmp

     Create a memory disk out of an ISO 9660 CD image file, using the first
     available md(4) device, and then mount it:

           mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt

     Create a file-backed device from a hard disk image that begins with 512K
     of raw header information.  gnop(8) is used to skip over the header
     information, positioning md1.nop to the start of the filesystem in the

           mdconfig -u md1 -f diskimage.img
           gnop create -o 512K md1
           mount /dev/md1.nop /mnt

     md(4), ffs(7), gpart(8), mdmfs(8), malloc(9)

     The mdconfig utility first appeared in FreeBSD 5.0 as a cleaner
     replacement for the vn(4) and vnconfig(8) combo.

     The mdconfig utility was written by Poul-Henning Kamp <>.

FreeBSD 11.0-PRERELEASE        October 10, 2015        FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help