Abilitare una swap esterna su qualsiasi drive connesso (anche USB)
Attenzione
Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.
Nell’articolo di oggi ci occupiamo di computer e velocità. Conseguentemente al rilascio di Windows 7 sono venuto a conoscenza di una nuova, piccola utility: ReadyBoost. In pratica altro non è che una swap su drive USB: inserisci la chiavetta, abiliti ReadyBoost sulla chiavetta, la chiavetta scompare dalle risorse e viene usata per lo storage temporaneo dei file (non tutti, alcuni file mirati).
Forse non tutti sanno che abilitare una swap USB è sconsigliato per due (forse tre) ragioni principali:
- La memoria USB essendo una memoria esterna potrebbe essere erroneamente rimossa dalla sua sede, creando un danno temporaneo al sistema che non avrebbe più accesso ai dati su cui sta lavorando,
- La velocità di trasferimento dati via USB è estremamente inferiore rispetto alla velocità del disco. Non aspettatevi che il vostro computer con 1gb di ram viaggi come se ne avesse 8 con una chiavetta da 8gb, aspettatevi invece che il computer vada addirittura più lento, il trasferimento dei dati su interfaccia USB è lento e di molto rispetto alle classiche interfacce IDE o ATA.
- Anche se questo è un problema secondario, è bene citarlo: i cicli di lettura / scrittura sulle memorie di massa allo stato solido sono limitati nel tempo, se usata in questo modo la nostra chiavetta USB avrà vita più breve di altre.
Il computer andrà, invece, più veloce se la swap abilitata risiede in un disco direttamente collegato alla motherboard (sto parlando dei dschi interni: IDE, o ATA, non USB). In questo caso la testina del disco principale continuerebbe a leggere e scrivere senza saltare dalla partizione dati alla partizione swap risparmiando qualche frazione di secondo. Consiglio perciò a chi vuole abilitare una swap supplementare di utilizzare una partizione di un disco interno al computer, di certo non una chiavetta USB.
Detto ciò ci cimentiamo ora nell’impresa di abilitare la swap su un disco che non sia quello principale dove risiede il sistema operativo. Questa procedura può essere abilitata anche per usare la chiavetta USB come una ram esterna, ma come ho già esposto prima non è una procedura che consiglio.
- Connettere l’unità di memoria al computer (nel caso sia già connessa e montata dovremo trovare il device corrispondente, leggere le note a fondo pagina per determinare il device),
- Eseguiamo da terminale il comando
df -m
, - Se il dispositivo è montato occorre “smontarlo“. Sempre da terminale: “
sudo umount /media/
z”, - Assegnamo la swap al nostro dispositivo:
sudo mkswap /dev/sdd1
(sempre se “sdd1” è il dispositivo che volete “swappare”, - “Accendiamo” la swap con “
sudo swapon -p 32767 /dev/sdd1
“.
La swap è ora abilitata. L’opzione “-p 32767” presente nell’ultimo comando serve per impostare la priorità. Nel caso si tratti di un secondo disco interno al computer consiglio di impostarla alta (“-p 1”), se si tratta di un drive USB (sconsiglio di usarlo, ma chi vuole “smanettare” smanetti) impostare un valore alto per assegnare una priorità bassa. Per controllare l’utilizzo della swap è possibile lanciare “cat /proc/swaps
“, il risultato è questo:
In questo caso ho assegnato una priorità alta (valore basso), e la swap appena creata verrà usata prima delle altre, con conseguente risparmio (seppur piccolo) sui tempi di caricamento.
Come determinare il device
Per determinare il device utilizzato dalla memoria che vogliamo utilizzare come swap è sufficiente lanciare un df -m
da terminale (nel caso sia montata) e controllare accuratamente quale dispositivo toccare. Nel dubbio NON TOCCATE NIENTE, questa procedura potrebbe cancellare i dati contenuti in una partizione o in un disco. Se non sapete cosa state facendo fermatevi e rileggete la procedura dall’inizio, o addirittura LASCIATE PERDERE.
Il comando “df -m
“
Nel mio caso il comando “df -m
” restituisce il seguente risultato:
Troviamo la lista dei dispositivi sotto la prima colonna, lo spazio totale, lo spazio occupato, lo spazio libero, la percentuale di occupazione e il punto di mount. In questo caso il dispositivo /dev/sdd1 è montato in /media/z. Sarà quello il device da smontare.
5 commenti
Martiño Salvétti · 19 Aprile 2013 alle 10:33 AM
Le pennette usb sono più lente di un disco, però la latenza dovrebbe ben essere inferiore non avendo nessuna testina che si deve posizionare correttamente, aspettare che la giusta frazione del disco passi sotto e possa venir letta. I dischi fissi riescono a raggiungere le performance migliori solo leggendo grandi quantità di dati sequenzialmente; quindi, non è che magari una buona pennetta da 10MB/s in scrittura e una 15ina in lettura offra performance maggiori di un disco PATA/SATA da 40MB/s? Magari viene anche allungata la vita del disco, meno stressato da continui spostamenti della testina fra la partizione dei dati e quella di swap
davideatflickr · 18 Aprile 2011 alle 8:34 PM
: )
Giovanni Mauri · 23 Aprile 2013 alle 3:32 PM
Dai test che ho effettuato io, in tutti i casi i dischi si sono dimostrati più veloci, fai una prova.. magari con disco e chiavetta differente hai risultati migliori..
In ogni caso, anche se provi a cercare in giro per la rete, pressoché chiunque sconsiglia questa pratica, per via della lentezza dello scambio dati sul bus usb, ma soprattutto per via dei limiti ai cicli lettura/scrittura delle memorie ssd.
TheJoe · 18 Aprile 2011 alle 2:04 PM
Grazie Davide, che piacere vederti anche qui fra i miei articoli :D..
Anche nel caso degli Scratch Disk di Photoshop vedo che è consigliato usare drive interni (dischi IDE o ATA, o partizioni dello stesso disco)… si potrebbe dire che anche Photoshop usa una sua swap personale. 😉
A breve qualche tutorial per Gimp, magari tipo quelli del corso..
davideatflickr · 18 Aprile 2011 alle 1:06 PM
bell’articolo..
un escamotage tipo Scratch Disk per Photoshop..
good work
ciao