Introduzione
In questa guida viene spiegato come migliorare le prestazioni del proprio sistema, modificando alcuni parametri del filesystem ext3, responsabile della gestione dei dati presenti sul disco fisso e quindi della velocità di accesso e scrittura a tali dati.
I parametri da modificare riguardano:
il metodo di journaling del filesystem,
la data di ultimo accesso ai file.
Metodo di journaling
La prima ottimizzazione riguarda il metodo di journaling che utilizza ext3 per mantenere i dati coerenti in caso di crash del sistema o durante una mancanza di alimentazione.
Il filesystem ext3, come ReiserFS, ha tre tipi di journaling:
Journal Data Writeback
Journal Data Ordered
Journal Data
Il metodo predefinito è il secondo, il Journal Data Ordered.
Per migliorare la velocità del sistema è possibile impostare il metodo Journal Data Writeback. Con questo metodo, in caso di crash, può succedere che venga consolidata una versione precedente dei file aperti prima del crash, anche se questa possibilità è remota.
Impostare il metodo writeback
Aprire il file /etc/fstab:
gksudo gedit /etc/fstab
Cercare all'interno del file la riga riguardante il dispositivo di root, e aggiungere l'opzione:
data=writeback
Per esempio, nel caso in cui il dispositivo sia /dev/hda6:
# Entry for /dev/hda6 : UUID=23fa3c64-dae9-41ab-83a1-3cd5fd8fe7f4 / ext3 defaults,errors=remount-ro,data=writeback 0 1
Salvare il file modificato.
| Prestare attenzione al nome del dispositivo che può cambiare da computer a computer e anche in base alla tecnologia del dispositivo stesso. |
La modifica al journaling verrà effettuata al prossimo riavvio. Per attivare immediatamente il writeback, eseguire il seguente comando:
sudo tune2fs -o journal_data_writeback /dev/hda6
Per verificare l'avvenuta modifica, eseguire il comando:
sudo tune2fs -l /dev/hda6
L'output dovrebbe essere simile a questo:
tune2fs 1.40-WIP (14-Nov-2006) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 23fa3c64-dae9-41ab-83a1-3cd5fd8fe7f4 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file Filesystem flags: signed directory hash Default mount options: journal_data_writeback Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 1242752 [...]
Rendere automatica la modifica
In caso di aggiornamento del kernel, il sistema reimposta il metodo di journaling predefinito modificando automaticamente il file etc/fstab.
Per non perdere le modifiche è necessario modificare il file di configurazione di GRUB.
Aprire il file /boot/grub/menu.lst:
gksudo gedit /boot/grub/menu.lst
In corrispondenza delle righe che iniziano con # defoptions e # altoptions, aggiungere al termine delle stesse l'opzione rootflags=data=writeback in modo che risultino:
# defoptions=quiet splash rootflags=data=writeback # altoptions=(recovery mode) single rootflags=data=writeback
Aggiornare quindi GRUB:
sudo update-grub
Aggiungendo queste opzioni all'avvio del kernel, in caso di aggiornamento, il filesystem sarà ottimizzato automaticamente.
Aggiornamento della data di ultimo accesso ai file
Normalmente, ogni volta che si accede a un file, il filesystem aggiorna la data e l'ora di ultimo accesso. Questa è un'operazione che avviene continuamente su migliaia di file durante l'avvio e il normale utilizzo del sistema, e che può portare a un leggero degrado delle prestazioni del filesystem.
Per disabilitare questo aggiornamento, è necessario modificare il file /etc/fstab.
Aprire il file /etc/fstab:
gksudo gedit /etc/fstab
Modificare la riga riguardante il dispositivo di root aggiungendo l'opzione:
noatime
Per esempio:
# Entry for /dev/hda6 : UUID=23fa3c64-dae9-41ab-83a1-3cd5fd8fe7f4 / ext3 defaults,errors=remount-ro,data=writeback,noatime 0 1
La modifica verrà applicata al prossimo avvio.
