La technologie mémoire Flash étant présente dans les disques durs SSD, clés USB, et cartes CompactFlash. Ils ont un nombre limite de cycles, pour mieux les préserver et ainsi augmenter leur durée de vie, nous pouvons optimiser notre OS.
Prenons comme exemple un système Linux Debian 6 (Squeeze).
Optimiser Debian pour SSD, CompactFlash et clé USB
Principe de base
Lors de l’installation de votre système Debian, optez pour un système de fichier ext2 (donc non journalisé), veillez à ne pas créer de partition swap (fichiers d’échanges).
Optimisation générale
Nous allons monter les dossiers temporaires, mail, et logs en ram (les données seront donc perdues à chaque boot).
Editez le fichier /etc/fstab
/dev/hda1 / ext2 noatime 0 1
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /var/log tmpfs defaults,noatime 0 0
tmpfs /var/mail tmpfs defaults,noatime 0 0
Attribuons les répertoires /var/run et /var/lock en RAM:
Editez /etc/default/rcS
RAMRUN=yes
RAMLOCK=yes
Par défaut, syslogd donne signe de vie en écrivant dans un fichier toutes les 20 minutes, désactivons cela.
Editez /etc/default/syslogd
SYSLOGD="-m 0"
Remplaçons /etc/mtab
rm /etc/mtab
ln –s /proc/mounts /etc/mtab
Optimisation du kernel
Editez le fichier /etc/sysctl.conf
vm.swappiness = 0
vm.laptop_mode = 0
vm.dirty_writeback_centisecs = 12000
vm.dirty_expire_centisecs = 12000
vm.dirty_ratio = 10
vm.dirty_background_ratio = 1
Explications (valeurs 0 = désactiver):
- vm.swappiness : désactive le fichier d’échange (swap)
- vm.laptop_mode : Secondes après une lecture des fichiers modifiés
- vm.dirty_writeback_centisecs : Quand le noyau doit vérifier si des données modifiées sont à écrire sur le disque
- vm.dirty_expire_centisecs : Quand le noyau estime que les anciennes données doivent-être écrites sur le disque
- vm.vm.dirty_ratio : quantité maximale de mémoire (en pour cent) à utiliser pour stocker les données modifiées
- vm.dirty_background_ratio : quantité minimale de mémoire (en pour cent) à utiliser pour stocker les données modifiées
Scripts utiles
Désactivons l’historique bash du compte root
Editez /root/.bashrc
unset HISTFILE
unset HISTFILESIZE
unset HISTSIZE
Nettoyage des fichiers temporaires journaliers
Script à placer dans /etc/cron.daily/
Editer /etc/cron.daily/clean-tmp
#!/bin/sh
# Cleanup the /tmp directory and keep the 4 last files only
#
# 01/09/2008 - Creation by N. Bernaerts
# 13/07/2012 - No error if /tmp holds less than 4 files (thanks to Konstantin Laufer)
# 14/07/2012 - Properly handle filenames with specific caracters like '(' and ')'
ls /tmp/test/* -t1 | sed ‘1,4d’ | sed ‘s/\(.*\)/”\1″/g’ | xargs rm -f $$.dummy
Une fois le fichier enregistré, rendez-le exécutable
chmod +x /etc/cron.daily/clean-tmp
Création des répertoires de fichiers temporaires
Au boot, le répertoire log est vide (étant stocké dans la RAM), il faut donc recréer les répertoires
Répertoire logs d’APT
Editez /etc/init.d/apt-tmpfs
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: apt-tmpfs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Create /var/log/apt on tmpfs at startup
# Description: Create /var/log/apt needed by APT.
### END INIT INFO
#
# main()
#
case "${1:-''}" in
'start')
# create the /var/log/apt needed by apt
mkdir /var/log/apt
chmod 777 /var/log/apt
;;
'stop')
;;
'restart')
;;
'reload'|'force-reload')
;;
'status')
;;
*)
echo "Usage: $SELF start"
exit 1
;;
esac
Une fois le fichier enregistré, rendez-le exécutable, et faites en sorte qu’il se lance au boot
chmod +x /etc/init.d/apt-tmpfs
update-rc.d apt-tmpfs defaults 90 10
Pourquoi utiliser des technologies Flash
Hormis un nombre de cycles limités, le mémoire flash présente beaucoup d’avantages:
- Taille réduite
- Temps d’accès très faible
- Peu sensible aux chocs
- faible poids
- Échauffement thermique
- Consommation électrique
Cette technologie s’avère donc très utile et souvent utilisée pour des applications embarquées, pare-feu, routeur, etc..
- Mac OS 10.10: Supprimer d’anciennes entrées Bluetooth. - 31 juillet 2021
- WordPress: Comprendre la boucle infinie “Pas de mise à jour requise” - 26 juillet 2021
- Réparer un switch Cisco Linksys SRW2048 - 17 juillet 2021