Vale la pena sintonizzare Ext4 con noatime?


77

Con le versioni precedenti di Ubuntu (usando il filesystem Ext3) lo usavo per ottimizzare le prestazioni con risultati evidenti impostando il noatimeparametro in /etc/fstab.

Ne vale ancora la pena farlo con il filesystem Ext4, che è ora predefinito in Ubuntu? In tal caso, la procedura è cambiata in qualche modo?

Un esempio di questa messa a punto può essere trovato qui.

Risposte:


66

Su Ubuntu 10.04, relatimefa parte delle opzioni di montaggio predefinite, a meno che non venga sostituito /etc/fstab. Le precedenti versioni erano relatimeesplicitamente presenti /etc/fstab. relatimeoffre gli stessi vantaggi di velocità (e conservazione del ciclo di scrittura flash) noatime, senza causare problemi ai notificatori di posta vecchio stile.

L'articolo che citi raccomanda data=writeback. Per impostazione predefinita Ubuntu data=ordered. L'impostazione di Ubuntu è più lenta in caso di carico del disco pesante, ma comporta un rischio significativamente minore di perdita di dati in caso di crash o mancanza di corrente. Quindi non consiglierei di cambiare dal default di Ubuntu.

Il passaggio commit=5a commit=100aumenta la finestra temporale durante la quale i dati andranno persi in caso di arresto anomalo, per scarsi benefici nella maggior parte dei casi.

Riepilogo: lasciare le impostazioni così come sono, sono state scelte per un motivo.


AGGIUNTO: ci sono altre cose oltre alle opzioni di montaggio che possono fare la differenza. Passare da ext3a ext4è di per sé spesso un miglioramento visibile. Ecco alcuni altri suggerimenti per gli utenti di laptop.

  • Se hai un SSD lento, dai un'occhiata a questo thread su SU . I suggerimenti importanti sono da utilizzare tmpfsper /tmpe per la cache del browser (e forse la cronologia).

  • Se si dispone di un disco rigido e si desidera che smetta di girare per lunghi periodi di tempo, installare noflushd , che consente al disco di rallentare ritardando tutte le scritture fino a quando la RAM è piena. (Naturalmente, le letture possono far girare il disco; dovrai prendere l'abitudine di correre cat /files/I/m/likely/to/need >/dev/nullprima che il disco si giri.) Affinché noflushd sia efficace, disattiva tutto lo scambio e monta i tuoi filesystem con qualcosa di simile commit=3600.

    L'uso di noflushd significa efficacemente che i tuoi dati possono rimanere non scritti su disco per un lungo periodo di tempo. Questo è un rischio, da valutare rispetto al beneficio di non avere alcun rumore o calore proveniente dal disco per un po '. Non usare noflushd se non ti senti a tuo agio con quel rischio.


Capisco il pericolo di modificare in questo modo, alcuni dei passaggi di quel tutorial con cui non sono d'accordo, come quello comit=100che hai menzionato. Ma sono disposto a correre dei rischi moderati per aumentare le prestazioni, dal momento che utilizzo un laptop e (quasi) backup regolarmente.
Decio Lira,

2
@Decio: noatimevs atimepuò fare una differenza visibile, ma sarei sorpreso che noatimevs lo relatimefarebbe. Ho aggiunto alcuni suggerimenti specifici per laptop alla mia risposta; Ho osservato personalmente miglioramenti visibili da questi suggerimenti. Noflushd comporta un rischio che ero disposto a correre quando l'ho usato.
Gilles 'SO- smetti di essere malvagio' il

Sì, stavo solo cercando su Google le differenze tra noatime e relatime, e hai ragione. relatime (che è ora predefinito in Ubuntu) è un buon compromesso tra atime e noatime.
Decio Lira,

Ho letto data=writeback- scrive semplicemente i dati dei file e i metadati in ordine casuale (al contrario del orderedquale scrive sempre i metadati dopo i dati) . Ciò significa che in caso di interruzione dell'alimentazione è possibile trovare il file α byte lungo, dove sono stati effettivamente scritti 0 byte. Bene ... Ma questo è assolutamente naturale! Ho sempre pensato che il file system prima aumentasse la dimensione del file, quindi scrivesse i dati. Scoprire che può essere nell'ordine inverso richiede la trasformazione di questo modello per aggiungere la memorizzazione nella cache nella RAM. Non sono convinto perché non usarlo writebackse può aiutare a migliorare la latenza.
Hi-Angel,

17

Sì, potrebbe avere ancora senso usare noatimeUbuntu 12.10

relatimeè un'opzione di montaggio predefinita. Ed relatimeè molto meglio di atime. Il primo richiede una scrittura per la prima lettura dopo una scrittura, il secondo richiede una scrittura per ogni lettura. Ma ad noatimeogni lettura è libero da una scrittura.

Ciò significa sostanzialmente che il numero di scritture su un disco per relatimemount è vicino al doppio rispetto a un noatimemount a parità di altre cose. È una seria preoccupazione per le partizioni sui dispositivi di memoria flash.

La discussione dettagliata da parte della comunità del kernel Linux è disponibile su http://kerneltrap.org/node/14148


3
Il fattore due non è corretto in generale. In teoria, il fattore è compreso tra 1 (file utilizzato infinitamente di frequente) e 2 (file utilizzato raramente di continuo). Ciò significa che il fattore reale è sostanzialmente 1, poiché i fattori raramente vicini a 2 non rappresentano in modo significativo nella media.
Patrick Häcker,

1 è per file di sola scrittura. 2 è per tutti gli altri. Non ha senso utilizzare file di sola scrittura, ma possono apparire di volta in volta. Quindi la mia stima originale dovrebbe essere pertinente.
yanychar,

@yanychar: grazie per aver spiegato gli relatimesvantaggi e aver condiviso la discussione su kerneltrap, ma dire " non ha senso nei file di sola scrittura " non ha senso: tutti /usre /libsono file di sola lettura. In realtà, la maggior parte dell'albero, sans /homee /var, sono di sola lettura. Anche i file /etccambiano molto raramente.
MestreLion,

2
@MestreLion: Ubuntu installa tonnellate di pacchetti. I pacchetti vengono aggiornati di volta in volta. Se non c'erano letture di un file tra le volte in cui il pacchetto veniva installato e aggiornato, il file era "sola scrittura". Non ci sono scritture aggiuntive relatimerispetto a noatimeper il file. Per tutto il resto, c'è una scrittura aggiuntiva quando il file viene letto.
yanychar,
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.