Perché nessuna partizione di swap su unità SSD?


88

Ho letto spesso che non si dovrebbero posizionare partizioni di swap su un'unità SSD, poiché ciò potrebbe danneggiare il dispositivo. È vero? Puoi spiegarmi il motivo per favore?

Perché altrimenti avrei pensato che posizionare lo swap su un SSD fosse la scelta migliore, poiché è molto più veloce degli HDD e quindi lo scambio di contenuti RAM sull'SSD non è così lento come sarebbe con l'HDD ...

Risposte:


85

Le celle RAM flash negli SSD hanno una durata limitata. Ogni ciclo di scrittura (ma non di lettura) (o più accuratamente ogni cancellazione) indossa una cella di memoria e ad un certo punto smetterà di funzionare.

La quantità di cicli di cancellazione che una cellula può sopravvivere è altamente variabile e il flash dei moderni SSD sopravviverà molto più del flash dei SSD realizzato diversi anni fa. Inoltre, il firmware intelligente SSD garantirà cancellazioni uniformemente distribuite tra tutte le celle. Nella maggior parte delle unità, saranno disponibili anche aree non utilizzate per il backup di celle danneggiate e per ritardare l'invecchiamento.

Per avere un valore che possiamo usare per confrontare la resistenza di un SSD, possiamo usare misure di durata della vita come gli standard pubblicati da JEDEC . Un valore ampiamente disponibile per la resistenza è TBW ( T era B ytes W ritten, o in alternativa byte totali scritti ) che è la quantità di byte scrivibili prima che l'unità si guasti. Gli SSD moderni possono raggiungere un minimo di 20 TB per un prodotto di consumo, ma possono raggiungere oltre 20.000 TB in un SSD di livello aziendale.

Detto questo, sia la durata che l'uso di un SSD per lo scambio dipendono da diversi fattori ...

Sistemi con molta RAM

Su un sistema con molta RAM e poche applicazioni che consumano memoria non cambieremo quasi mai. È semplicemente una misura di sicurezza per prevenire la perdita di dati nel caso in cui un'applicazione abbia consumato tutta la nostra RAM. In questo caso, l'uso di un SSD dallo scambio non sarà un problema. Tuttavia, avere questa partizione di swap per lo più inutilizzata su un disco rigido convenzionale non porterà a un calo delle prestazioni, quindi possiamo mettere in sicurezza la nostra partizione di swap (o file) su quel disco rigido significativamente più economico e usare lo spazio sul nostro SSD per qualcosa di più utile.

Sistemi con poca RAM

Le cose sono diverse su un sistema in cui la RAM è scarsa e non può essere aggiornata. In questo caso, lo scambio può effettivamente verificarsi più spesso, soprattutto quando eseguiamo applicazioni ad alta intensità di memoria. In questi sistemi, una partizione o un file di scambio su un SSD può portare a un notevole miglioramento delle prestazioni al costo di una durata dell'SSD leggermente più breve. Questa durata ridotta può tuttavia non essere abbastanza breve da giustificare preoccupazioni. Con ogni probabilità, l'SSD potrebbe essere sostituito molto prima che sarebbe morto perché più volte lo spazio di archiviazione potrebbe essere disponibile a una frazione dei prezzi di oggi.

Sospendere il nostro sistema

Il risveglio dal letargo è davvero molto veloce da un SSD. Se siamo fortunati e il nostro sistema sopravvive a un letargo senza problemi, possiamo prendere in considerazione l'utilizzo di un SSD per questo. Indosserà l'SSD molto più che avviarlo, ma potremmo pensare che ne valga la pena.

Ma l'avvio da un SSD potrebbe non impiegare molto più tempo del risveglio dal letargo da un SSD e indosserà l'SSD molto meno. Personalmente, non metto in letargo il mio sistema - sospendo la RAM o avvio rapidamente dal mio SSD.

L'SSD è l'unica unità che abbiamo

In questo caso non abbiamo davvero scelta. Non vogliamo correre senza uno scambio, quindi dobbiamo metterlo sull'SSD. Tuttavia, potremmo voler avere un file di swap o una partizione più piccoli se non prevediamo di ibernare il nostro sistema in nessun momento.

Nota sulla velocità

Gli SSD sono i migliori per accedere e leggere rapidamente molti piccoli file e sono superiori ai dischi rigidi convenzionali per il trasferimento di dati da file di piccole o medie dimensioni in sequenza. Un disco rigido convenzionale veloce può comunque funzionare meglio di un SSD durante la scrittura (e, in misura minore, la lettura) di flussi audio o video di grandi dimensioni o altri file non frammentati lunghi. Gli SSD più vecchi possono subire un calo delle prestazioni nel tempo o dopo che sono abbastanza pieni.


2
Quindi possiamo concludere che dovremmo usare SSD preferibilmente per archiviare dati che idealmente vengono scritti una volta (o raramente) e devono essere letti abbastanza spesso. Come i file di sistema, i file di programma o le directory dei dati della cartella home (musica, video, ...). C'è un numero approssimativo su quanti cicli di scrittura / cancellazione dovrebbe sopravvivere una cellula SSD media moderna? 1000? 10000? E sì, ho capito che il controller cerca di distribuire uniformemente l'utilizzo tra tutte le celle per aumentare la durata della vita.
Byte Commander

@ByteCommander Vedi modifica per alcuni altri punti relativi al tuo commento.
Takkat,

Penso che la nota sulla velocità sia fuorviante - gli SSD supereranno i dischi rigidi - le unità più veloci (SAS, 15000 rpm) forniscono una velocità di accesso seqential di circa 250 MB / sec mentre un SSD fornisce quasi il doppio (e un disco rigido normale impallidisce in confronto a circa 110 MB / sec - Gli SSD supereranno i dischi rigidi nelle letture sequenziali, la domanda è di costo.
David

@davidgo è vero che in generale un SSD funzionerà molto meglio di un disco rigido, specialmente se l'SSD era nuovo. Vi sono tuttavia rapporti su cali delle prestazioni piuttosto significativi non solo a causa di un SSD obsoleto, ma anche dalla lettura sequenziale per un periodo di tempo più lungo (come lo streaming video). Vedi ad esempio questo post su SU e una spiegazione approfondita da Seagate . Quindi non dovremmo fare affidamento sui grandi valori iniziali per durare per sempre.
Takkat,

1
Interessante post di Seagate, tuttavia questo è stato scritto intorno al 2010 - e gli SSD hanno fatto molta strada tra allora e il 2015 - in particolare per quanto riguarda la raccolta dei rifiuti di fondo e il livellamento dell'usura - che alterano drasticamente il paesaggio - vedi techreport.com/review/27909/… dal 2013. Inoltre, nel 2010, le schede controller ssd erano molto più potenti.
davidgo,

18

I primi SSD avevano una reputazione di fallimento dopo un minor numero di scritture rispetto agli HDD. Se lo swap veniva usato spesso, l'SSD potrebbe non riuscire prima. Questo potrebbe essere il motivo per cui hai sentito che potrebbe essere male usare un SSD per lo scambio.

Gli SSD moderni non hanno questo problema e non dovrebbero fallire più velocemente di un HDD comparabile. Posizionare lo swap su un SSD si tradurrà in prestazioni migliori rispetto a posizionarlo su un HDD a causa delle sue velocità più elevate.

Inoltre, se il tuo sistema ha abbastanza RAM (probabilmente, se il sistema è abbastanza alto da avere un SSD), lo swap può essere usato solo raramente comunque.


2
Sono tentato di crederci, ma voglio aspettare ulteriori reazioni e apprezzerei anche qualsiasi riferimento come prova. Accetterò una risposta quando ci saranno prove valide o una chiara maggioranza per un punto.
Byte Commander

1
Pur non essendo statisticamente valido per la vita del tuo SSD. Test di vita SSD 2015 finale techreport.com/review/27909/… Mostra che la vita è molto lunga anche per quelli che per primi hanno fallito. Ho avuto un disco rigido guasto entro un anno, ma non è normale. Il mio sistema da 4 GB di RAM non ha quasi mai usato lo swap.
oldfred

1
La mia domanda qui è: se ho un SSD E una buona quantità di RAM, dovrei provare a conservare le mie applicazioni all'interno della RAM come ai vecchi tempi dell'HDD, oppure posso lasciarlo funzionare selvaggio con SSD. Sembra che ne valga ancora la pena, ma forse no.
jerclarke,

9

La tecnologia HDD utilizza un processo magnetico per la manipolazione e l'archiviazione dei dati. Questo processo non è invasivo, il che significa che puoi praticamente manipolare i dati su un'unità disco all'infinito. Questo fino a quando i meccanici iniziano a fallire. Al contrario, la tecnologia SSD non corre il rischio di guasti meccanici. Ma ciò che preoccupa è come archivia i suoi dati. Per l'archiviazione dei dati, gli SSD utilizzano esplosioni controllate di energia elettrica. I semiconduttori che vengono colpiti da questa corrente elettrica si consumano lentamente dal processo man mano che vengono utilizzati nel tempo.

Questo processo è stato migliorato attraverso aggiornamenti software e hardware. I primi adattatori hanno scoperto che i sistemi operativi non erano programmati per archiviare correttamente i dati come fa un SSD. Questo mette negativamente l'SSD attraverso grandi quantità di cicli di lettura / scrittura. Anche i BIOS più vecchi non riconoscono correttamente un SSD e anche questo ha causato problemi.

L'introduzione degli aggiornamenti UEFI e OS ha corretto la maggior parte dei problemi che avevano i primi proprietari di SSD. Inoltre, come con qualsiasi processo di produzione, gli stessi SSD sono migliorati nella gestione e nel mantenimento del degrado delle unità flash NAND.

Tuttavia, è ancora preoccupante che l'SSD abbia una quantità limitata di cicli di lettura / scrittura prima che non sia più possibile archiviare i dati. Tuttavia, questa preoccupazione è altrettanto marginale del fallimento del tuo HDD.

C'è un podcast molto approfondito sull'argomento qui se desideri approfondire ulteriormente l'argomento.


la lettura tra le righe, un sistema precedente bios, non di uefisistema, potrebbe quindi non interagire con il sistema ssdin modo più efficiente uefi?
Giovedì

7

Anche se hai abbastanza RAM, potresti comunque voler impedire qualsiasi copia o ricerca di file per scambiare le applicazioni dalla RAM. Questo potrebbe essere il caso dei file server (NAS, SAMBA, FTP) che potrebbero essere coinvolti in operazioni su file di grandi dimensioni.

Per fare ciò è meglio impostare /etc/sysctl.conf: vm.swappiness=1 vm.vfs_cache_pressure=50

La prima impostazione impedisce alla cache del disco (ad es. Fare cp) di sostituire le app esistenti dalla RAM. L'impostazione predefinita normale è 60. Nota che l'uso di 0, sebbene più aggressivo, a volte è stato segnalato per generare errori di memoria insufficiente.

La seconda impostazione impedisce alle ricerche di file (ad es. Fare find) di sostituire le app esistenti dalla RAM. L'impostazione predefinita normale è 100.

Sebbene l'autore citato in riferimento non si riferisca esplicitamente agli SSD, questo approccio riduce anche l'usura degli SSD a causa del ridotto scambio e fornisce anche esempi su come testarlo.

Riferimento: https://rudd-o.com/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that


3

Life Vs Performance Balance.

Hai acquistato un SSD per i suoi vantaggi in termini di prestazioni e non semplicemente per aumentare la durata della batteria, giusto? Quindi usa il tuo SSD proprio per quello scopo, per rendere il tuo sistema più veloce.

Se puoi permetterti di aggiungere più RAM per ridurre * I / O di scambio, questo aumenterà chiaramente la durata del tuo SSD poiché un altro drenaggio delle prestazioni è ovviamente i cicli di I / O per scambiare spazio su un filesystem.

Anche in questo caso, come tanti aspetti della configurazione del tuo sistema, spesso non dipende da un'unica adozione di regole adatta a tutti. Le esigenze degli utenti differiscono e pertanto i requisiti di sistema e quindi la configurazione deve differire per soddisfare queste esigenze, in poche parole si riduce a come si configura il sistema.

I f avete lo spazio per tenere uno SSD in aggiunta al tuo nessuno drive SSD, quindi scrivere i file che cambiano raramente alla vostra nessuno unità SSD e mantenere i file a cui si accede spesso sul vostro disco SSD.
Questo assicurerà che ...

[1] - Le funzioni * trim avranno le risorse per eseguire i passaggi necessari per utilizzare in modo uniforme tutto il disco. [Vantaggio = Vita]

[2] - La latenza I / O verrà ridotta con il dispositivo SSD ad alta velocità utilizzato per accedere a un filesystem a cui si accede spesso. [Vantaggio = Prestazioni]

C onfigura il tuo filesystem temporaneo per utilizzare lo spazio quando richiesto per le tue esigenze specifiche del sistema, se hai abbastanza RAM, considera di impostare il livello di swap su meno aggressivo, questo assicurerà che ...

[1] - L'I / O SSD è ridotto ma il tuo sistema continuerà a soddisfare le esigenze dei suoi utenti. [Vantaggio = Vita]

D o si ha realmente bisogno di tutto fuori quei tronchi? Considera cosa sta registrando il tuo sistema e dove.

[1] - L'I / O SSD è ridotto poiché l'accesso al file di registro è ridotto. [Vantaggio = Durata e prestazioni]

Ci sono molti altri aspetti della configurazione del tuo sistema che possono far sì che un sistema SSD nessuno funzioni più velocemente, le build di sistema predefinite hanno una metrica difficile da soddisfare, prestazioni pure o mantenere i dati sicuri e protetti o un mix equilibrato di tutti. Se applichi la stessa mentalità a ciò che scrivi e a quale dispositivo, puoi aumentare drasticamente entrambe le prestazioni e allo stesso tempo aumentare la durata del tuo SSD.

* swap - Ricorda che questo non è usato solo quando le risorse sono basse, la swapiness configurabile per molte distro Linux out of the box di default parcheggerà i processi di lunga durata di bassa priorità più in basso nella scala delle prestazioni nello spazio di swap)

* Trim : vale la pena verificare di averlo abilitato, un buon articolo su cos'è il trim e su come funziona: http://searchstorage.techtarget.com/definition/TRIM


0

Penso che sia perché le unità SSD sono come la memoria flash, dove si consumano più cicli di lettura e scrittura. Swap peggiorerebbe le cose, dato che swap scrive costantemente nel file di swap.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.