DMC, un comando per… rallentare le unità SSD del Mac

In alcuni ambiti potrebbe essere utile rallentare le veloci unità SSD, ad esempio per simulare il comportamento di un software con un disco rigido molto lento. macOS mette a disposizione un comando ad hoc

Terminale

Da macOS High Sierra in poi, Apple ha integrato nel sistema operativo un comando che è possibile richiamare dal Terminale e che consente, all’occorrenza, di rallentare la velocità di lettura/scrittura delle sempre più veloci e convenienti unità SSD. Il comando in questione è “DMC”, abbreviazione che sta per “Disk Mount Conditioner”. A cosa può servire un simile comando è presto detto: verificare il funzionamento di un’applicazione simulando, ad esempio, la presenza di un disco rigido da 5400RPM.

Apple vende computer con unità di archiviazione (SSD) in grado di arrivare in velocità di lettura fino a 3,2 GBps (MacBook Pro) o anche di più (fino a 3,3 GBps in scrittura con l’iMac Pro).

Il comando DMC si avvia dal Terminale e, riferisce il francofono Journaldulapin, propone alcuni preset (“profili”), richiamabili con il comando “dmc list” (senza virgolette). Digitando il comando “dmc show x” e mettendo al posto di “x” il numero del profilo si ottengo i dettagli. Ecco ad esempio i dettagli del profilo “0” (HDD da 5400RPM difettoso):

Type: HDD
Access time: 52222 us
Read throughput: 50 MB/s
Write throughput: 50 MB/s
I/O Queue Depth: 16
Max Read Bytes: 16777216
Max Write Bytes: 16777216
Max Read Segments: 128
Max Write Segments: 128

Come sempre il comando “man” del Terminale consente di conoscere i vari dettagli visualizzando la pagina di manuale del comando stesso. Per avviare DMC basta digitare un comando del genere:

sudo dmc start / x

mettendo al posto della “x” il profilo desiderato e indicando la password (il simbolo “/” è il riferimento al disco di avvio).

DMC, un comando per… rallentare le unità SSD del Mac

Di seguito i risultati ottenuti con l’utility Disk Speed Test su un MacBook Pro 13″ 2017 prima e dopo il comando che simula la presenza di un HDD difettoso da 5400RPM.

Il test con l'utility DiskSpeedtest su un MacBook Pro 13" 2017 senza digitare il comando che rallenta l'unità SSD
Il test con l’utility DiskSpeedtest su un MacBook Pro 13″ 2017 senza digitare il comando che rallenta l’unità SSD
Prove con l'utility Disk Speed Test su un MacBook Pro 13" 2017 dopo aver digito il comando che permette di rallentare l'unità SSD.
Prove con l’utility Disk Speed Test su un MacBook Pro 13″ 2017 dopo aver digito il comando che permette di rallentare l’unità SSD.

Per annullare l’effetto del comando, basta digitare:

sudo dmc stop /

Il rallentamento è sempre e comunque annullato al riavvio del computer. Gli sviluppatori hanno a disposizione simili funzionalità anche per Xcode dove è utile simulare la perdita di pacchetti nelle reti WiFi, 4G, 3G ed emulare latenze elevate per comprendere come si comportano determinate applicazioni.