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

FreeBSD Manual Pages


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]
	      [-L label]
     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) de-
	     vice 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 de-

     -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 con-
	     structing bootable	images for later download to other devices.

     -L	label
	     Associate a label (arbitrary string) with the new memory disk.
	     The label can then	be inspected with

		   mdconfig -l -v

     -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

		     For vnode backed devices: enable/disable caching of data
		     in	system caches.	The default is to not cache.

		     Accesses via the device are converted to accesses via the
		     vnode.  The caching policy	for the	vnode is used ini-
		     tially.  This is normally to cache.  This caching policy
		     is	retained if the	cache option is	used.  Otherwise,
		     caching is	limited	by releasing data from caches soon af-
		     ter each access.  The release has the same	semantics as
		     the POSIX_FADV_DONTNEED feature of	posix_fadvise(2).  The
		     result is that with normal	(non-zfs) caching, buffers are
		     released from the buffer cache soon after they are	con-
		     structed, but their data is kept in the page cache	at
		     lower priority.

		     The cache option tends to waste memory by giving unwanted
		     double caching, but it saves time if there	is memory to

		     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 us-

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

		     Enable/disable readonly mode.

		     For vnode backed devices: enable/disable requesting veri-
		     fication of the file used for backing store.  The type of
		     verification depends on which security features are
		     available.	 One example of	verification is	testing	file
		     integrity with checksums or cryptographic signatures.

     -u	unit
	     Request a specific	unit number or device name for the md(4) de-
	     vice instead of automatic allocation.  If a device	name is	speci-
	     fied, it must start with "md" followed by the unit	number.

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

     Create a disk with	/tmp/boot.flp as backing storage.  The name of the al-
     located 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 in-
     formation,	positioning md1.nop to the start of the	filesystem in the im-

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

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

     The mdconfig utility first	appeared in FreeBSD 5.0	as a cleaner replace-
     ment for the vn kernel module and the vnconfig utility combo.

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

FreeBSD	13.0		       November	6, 2020			  FreeBSD 13.0


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

home | help