Voici une solution simple qui permet de limiter les écritures sur votre disque SSD afin de prolonger sa durée de vie.
Pour cela, nous allons utiliser l’outil Ramlog qui crée un disque temporaire en mémoire vive, où sont stockés et mis à jour les logs. Les logs originels sont conservés dans le répertoire /var/log.hdd jusqu’à l’arrêt de ramlog où à ce moment elles prennent le chemin inverse. Donc pas de perte de logs systèmes sauf bien sûr si votre ordinateur plante.
On va également placer le paramètre « swappiness ». Ubuntu est conçu pour mettre directement en SWAP, ce qui est destiné à la RAM à partir d’un certain taux d’occupation.
Par défaut ce paramètre est réglé à 60 sur Ubuntu. Cela signifie qu’à partir de 40% d’occupation en RAM, le système part écrire dans la SWAP. On va réduire cette valeur à 90.
On va aussi changer la destination du cache de Firefox et les options de montages des disques.
Cela limitera ainsi grandement le nombre d’accès en écriture sur la carte.
Installation de ramlog sur Ubuntu
Il faut d’abord télécharger le paquet .deb:
wget http://www.tremende.com/ramlog/download/ramlog_2.0.0_all.deb
Maintenant que nous avons le paquet ramlog_2.0.0_all.deb, il faut l’installer:
sudo dpkg -i ramlog_2.0.0_all.deb
On active Ramlog au démarrage:
sudo update-rc.d ramlog start 2 2 3 4 5 . stop 99 0 1 6 .
Il ne reste plus qu’a redémarré:
sudo reboot
Pour voir l’état de Ramlog il suffit d’utiliser la commande suivante :
/etc/init.d/ramlog status
En cas de problème la log de Ramlog peut être consulté:
more /var/log/ramlog
Pour désinstaller Ramlog :
sudo dpkg -P ramlog
Vous pouvez modifier la configuration de Ramlog en éditant le fichier /etc/default/ramlog.
Modification du Swappiness
On édite le fichier:
vi /etc/sysctl.conf
On recherche ensuite le paramètre « vm.swappiness=60 » suivant.
S’il n’est pas présent, ajoutez le et mettez la valeur à 10 pour indiquer au système d’écrire en SWAP à partir de 90% d’occupation de la RAM:
vm.swappiness=10
Il ne vous reste plus qu’a redémarrer votre système pour en profiter.
Vous pouvez aussi supprimer votre partition Swap soi votre machine à beaucoup de Ram ( > à 6 Go).
Pour cela, soit vous ne créer aucune partition swap lors de l’installation du système, soit vous commentez la ligne de montage du fichier swap dans le fichier /etc/fstab:
# swap was on /dev/sda5 during installation
#UUID=1f4d44e9-25bc-43f3-abe7-5a3d002b0d3a none swap sw 0 0
Ne pas écrire sur le disque la date du dernier accès
Montez vos partitions avec l’ option » noatime » en ouvrant le fichier /etc/fstab:
UUID=5afbf352-08d6-b368-3be6e4574b7c / ext4 noatime,errors=remount-ro 0 1
Mettre les fichiers temporaires ( ~ )en mémoire vive
Ajoutez la ligne suivante à la fin du fichier /etc/fstab pour mettre les fichiers temporaires en mémoire vive:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
# swap was on /dev/sda5 during installation
#UUID=1f4d44e9-25bc-43f3-abe7-5a3d002b0d3a none swap sw 0 0
Déplacer le cache Firefox
Tapez about:config dans firefox et puis créez une nouvelle chaîne de caractères que vous nommerez browser.cache.disk.parent_directory et saisir comme destination /tmp/firefox. Vous pouvez également si vous avez une connexion suffisamment rapide, désactiver le cache persistant en modifiant l’option browser.cache.disk.enable avec la valeur false.
Activer le Trimming
Vous devez d’abord vérifier que votre SSD supporte la fonction TRIM avec cette commande:
sudo hdparm -I /dev/sda
Cela va lister tous les paramètres et fonctionnalités du SSD. Dans le paragraphe « Commands/features » une ligne doit clairement indiquer le support TRIM:
/dev/sda:
ATA device, with non-removable media
Model Number: OCZ-VERTEX4
Serial Number: OCZ-695030Z008038154
Firmware Revision: 1.5
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.6, SATA Rev 3.0
Standards:
Supported: 9 8 7 6
Likely used: 9
Configuration:
Logical max current
cylinders 16383 0
heads 16 0
sectors/track 63 0
--
LBA user addressable sectors: 250069680
LBA48 user addressable sectors: 250069680
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
Logical Sector-0 offset: 0 bytes
device size with M = 1024*1024: 122104 MBytes
device size with M = 1000*1000: 128035 MBytes (128 GB)
cache/buffer size = unknown
Nominal Media Rotation Rate: Solid State Device
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* NOP cmd
* DOWNLOAD_MICROCODE
* 48-bit Address feature set
* Mandatory FLUSH_CACHE
* General Purpose Logging feature set
* WRITE_{DMA|MULTIPLE}_FUA_EXT
* 64-bit World wide name
* Write-Read-Verify feature set
* WRITE_UNCORRECTABLE_EXT command
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* Native Command Queueing (NCQ)
Non-Zero buffer offsets in DMA Setup FIS
* DMA Setup Auto-Activate optimization
* In-order data delivery
* DOWNLOAD MICROCODE DMA command
* WRITE BUFFER DMA command
* READ BUFFER DMA command
* Data Set Management TRIM supported (limit 16 blocks)
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
20min for SECURITY ERASE UNIT. 400min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5e83a9749d61c923
NAA : 5
IEEE OUI : e83a97
Unique ID : 49d61c923
Checksum: correct
Si le SSD supporte le Trimming, Il suffit d’éditer le fichier /etc/fstab et de rajouter l’option discard sur les volumes en ext4:
# / was on /dev/sda1 during installation
UUID=5afbf352-08d6-b368-3be6e4574b7c / ext4 noatime,discard,errors=remount-ro 0 1