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).
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.
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.