DMC(1) DMC(1)
NAME
dmc - controls the Disk Mount Conditioner
SYNOPSIS
dmc start mount [profile-name|profile-index [-boot]]
dmc stop mount
dmc status mount [-json]
dmc show profile-name|profile-index
dmc list
dmc select mount profile-name|profile-index
dmc configure mount type access-time read-throughput write-throughput [ioqueue-depth maxreadcnt maxwritecnt segreadcnt segwritecnt]
dmc help | -h
DESCRIPTION
dmc(1) configures the Disk Mount Conditioner. The Disk Mount Conditioner is a kernel provided service that can degrade the disk I/O being
issued to specific mount points, providing the illusion that the I/O is executing on a slower device. It can also cause the conditioned
mount point to advertise itself as a different device type, e.g. the disk type of an SSD could be set to an HDD. This behavior consequently
changes various parameters such as read-ahead settings, disk I/O throttling, etc., which normally have different behavior depending on the
underlying device type.
COMMANDS
Common command parameters:
o mount - the mount point to be used in the command
o profile-name - the name of a profile as shown in dmc list
o profile-index - the index of a profile as shown in dmc list
dmc start mount [profile-name|profile-index [-boot]]
Start the Disk Mount Conditioner on the given mount point with the current settings (from dmc status) or the given profile, if pro-
vided. Optionally configure the profile to remain enabled across reboots, if -boot is supplied.
dmc stop mount
Disable the Disk Mount Conditioner on the given mount point. Also disables any settings that persist across reboot via the -boot flag
provided to dmc start, if any.
dmc status mount [-json]
Display the current settings (including on/off state), optionally as JSON
dmc show profile-name|profile-index
Display the settings of the given profile
dmc list
Display all profile names and indices
dmc select mount profile-name|profile-index
Choose a different profile for the given mount point without enabling or disabling the Disk Mount Conditioner
dmc configure mount type access-time read-throughput write-throughput [ioqueue-depth maxreadcnt maxwritecnt segreadcnt segwritecnt]
Select custom parameters for the given mount point rather than using the settings provided by a default profile.
See dmc list for example parameter settings for various disk presets.
o type - 'SSD' or 'HDD'. The type determines how various system behaviors like disk I/O throttling and read-ahead algorithms affect the
issued I/O. Additionally, choosing 'HDD' will attempt to simulate seek times, including drive spin-up from idle.
o access-time - latency in microseconds for a single I/O. For SSD types this latency is applied exactly as specified to all I/O. For HDD
types, the latency scales based on a simulated seek time (thus making the access-time the maximum latency or seek penalty).
o read-throughput - integer specifying megabytes-per-second maximum throughput for disk reads
o write-throughput - integer specifying megabytes-per-second maxmimu throughput for disk writes
o ioqueue-depth - maximum number of commands that a device can accept
o maxreadcnt - maximum byte count per read
o maxwritecnt - maximum byte count per write
o segreadcnt - maximum physically disjoint segments processed per read
o segwritecnt - maximum physically disjoint segments processed per write
dmc help | -h
Display help text
EXAMPLES
dmc start / '5400 HDD'
Turn on the Disk Mount Conditioner for the boot volume, acting like a 5400 RPM hard drive.
dmc configure /Volumes/ExtDisk SSD 100 100 50
Configure an external disk to use custom parameters to degrade performance as if it were a slow SSD with 100 microsecond latencies,
100MB/s read throughput, and 50MB/s write throughput.
IMPORTANT
The Disk Mount Conditioner is not a 'simulator'. It can only degrade (or 'condition') the I/O such that a faster disk device behaves like a
slower device, not vice-versa. For example, a 5400 RPM hard drive cannot be conditioned to act like a SSD that is capable of a higher
throughput than the theoretical limitations of the hard disk.
In addition to running dmc stop, rebooting is also a sufficient way to clear any existing settings and disable Disk Mount Conditioner on
all mount points (unless started with -boot).
SEE ALSO
nlc(1)
January 2018 DMC(1)