L'utilisation d'une carte disques Flash bon marché par l'intermédiaire d'un adaptateur CF/IDE est une bonne option de remplacement du disque dur pour une machine que l'on veut plus silencieuse et moins energivore. Cependant la flash a deux inconvénients en écriture : sa lenteur et son nombre de cycles limités. Concernant la durée de vie, des systèmes de fichiers spécialisé comme JFFS2 permettent de réduire le problème. Mais il est aussi possible de faire d'une pierre deux coups en améliorant significativement les performances de la flash tout en augmentant sa durée de vie, et tout cela en évitant d'écrire dessus...
tmpfs est dérive de ramfs, un système de fichier qui utilise la mémoire vie de la machine plutôt que le disque. La différence est que tmpfs va gérer globalement un espace mémoire pour tous les montages qui l'utilisent.
L'autre avantage de tmpfs est qu'il consomme la mémoire dont il a besoin et libère celle dont il ne se sert plus. Ces caractéristique en font le meilleur candidat pour épauler notre mémoire flash sur toutes les écritures qui n'ont nulle besoin d'être permanente, c'est à dire sur /tmp, sur /var/log et sur /var/tmp. On pourrait aussi rajouter à cette liste les dossiers temporaires des utilisateurs ~/tmp.
Utiliser tmpfs est très simple. Une fois les points identifiez, il suffit de les rajouter dans /etc/fstab
Nous avons ici trois points utilisant tmpfs. Par défaut, ce dernier utilise jusqu'à la moitié de la RAM disponible pour ces stockages. Il est possible si vous le souhaitez de changer cela avec l'argument de montage size: exprimé en octets.
Pour ce qui est des autres arguments, nous allons y revenir au chapitre suivant. Pour l'instant, avant de redémarrer, nous allons tester nos points. L'idée est juste de détruire tous les fichiers qui pré-existent sur les dossiers de montages puis lancer le montage lui-même :
Voilà, maintenant le système est paramétré, nous pouvons redémarrer pour vérifier que tout fonctionner.
Par défaut, les systèmes de fichiers stockent sur le disque la date du dernière accés à un fichier en lecture ET écriture. Cette écriture prend du temps et impacte sur les performances. Il est donc possible avec les options de montage noatime de supprimer cette fonctionnalité sur les fichiers et avec nodiratime de faire la même chose sur les dossiers. Attention cependant, certains logiciels ont besoin de cette information, mais je n'ai personnellement jamais eu de problèmes avec cela, y compris sur mes serveurs. Le cas échéant, vous pouvez utilisez la voie du milieu avec l'option relatime qui semble être un hack assez peu documenté pour n'écrire cette date que lorsque c'est nécessaire.
Dans le cas de notre flash, avoir supprimer cette date sur les tmpfs est sympathique, mais ce serait mieux encore d'éviter d'écrire cette date sur la carte. On modifie donc à nouveau /etc/fstab comme suite :
Pour tester cela sans redémarrer, nous pouvons demande à Linux un remontage de ce device :
Ensuite en lançant la commande mount, nous sauront si les options ont bien été prises en compte. Si c'est le cas, un petit coup de redémarrage ne fera pas de mal...
Pour une machine sur flash, le mieux est pas de Swap. Mais par pitié, évitez les âneries que j'ai vu de temps à autre dans les forums où certains génies préconise du Swap dans un fichier sur... tmpfs. Du Swap dans le la RAM c'est totalement idiot car le swap sert justement à palier à un manque de mémoire...
Pour vérifier ce que vous avez en terme de Swap, lancez la commande :
Si elle vous indique une partition, lancez fdisk et supprimez là. Au redémarrage, le swap devrait ne plus être utilisé (vous pouvez aussi utilisez la commande swapoff).
J'aurais tendance à conclure par mon éternel émerveillement avec cet OS "pâte à modeler" dont j'arrive à faire ce que je veux. Toujours est il qu'avec un minimum d'investissement, me voilà avec une machine des plus silencieuse, totalement autonome et parfaite comme petit serveur multimédia.
- répondre
freeflyer, le 28 July, 2008 - 13:07Petite remarque concernant le swap dans de la RAM.. Sous windows, il vaut mieux (parait-il) faire ca que de supprimer totalement le swap, car le noyau windows fonctionne mieux quand il dispose d'espace de swap..
- répondre
Ulhume, le 28 July, 2008 - 13:17Oui, bon, sous WilainOS j'imagine qu'on n'est pas à une hérésie près...
- répondre
freeflyer, le 28 July, 2008 - 13:19Chais pas.. Faudrait essayer de faire des vrais bench pour voir si ca ne fait pas la meme chose avec nunux
- répondre
Ulhume, le 28 July, 2008 - 13:30ben j'ai cette machine là, celle dont je parle est sans swap aucun, je n'ai aucun problème de performance avec et je ne vois même pas pourquoi il y en aurait. Donc j'oppose juste mon expérience à cette demande de bench
Ceci dit, si tu as un test facile à réaliser, je me ferais un plaisir de le lancer 
PS: Ceci dit, je n'ai jamais vu de vrai bench non plus pour ce problème sous Windows, légende urbaine ?
- répondre
freeflyer, le 28 July, 2008 - 13:36Ben tout les interlocuteurs ms ou partenaires ms que j'ai interrogé sur le sujet, m'ont toujours dit qu'il était plus sain de réserver un espace de swap, que le système était "fait pour"..
- répondre
Ulhume, le 28 July, 2008 - 14:08LOL
Ok j'arrête de me moquer, mais j'aime bien le "fait pour', ça me rapelle le "It's not a bug, it's a feature"
Mais c'est possible en effet.
Ceci dit, je me suis amusé à faire des petits tests à la noix pour voir cela sous Linux, et que ce soit en vitesse de lancement, sur une série d'accès disques, sur une série d'allocation en mémoire (ne dépassant pas la taille de la mémoire physique), multi-threading et je n'ai eu aucun impacte négatif. Avec et sans Swap, c'est bonnet blanc et blanc bonnet. Maintenant faudrait trouver des tests sérieux, si ça se trouve, le kernel aussi est conçu pour ne pas savoir se passer de swap.. Mais j'en doute un peu, autant je suis le premier à trouver windows plus véloce sur tout ce qui touche au graphique (après X11) autant j'ai des doutes sur le royaume kernel.
- répondre
mhoungbo, le 28 July, 2008 - 14:27hmm
pas bon le ext3 pour une carte, utilise ext2 ou a défaut le nouveau yaffs (http://www.yaffs.net/)
- répondre
Ulhume, le 28 July, 2008 - 14:36@mhungbo Oui, je sais que ce n'est pas le mieux mais en l'occurrence, le système est en quasi lecture-seule. D'où l'utilisation de tmpfs pour les parties qui sont amenées à êtres écrites de manière récurrente (cf. introduction). La seule différence entre ext2 et ext3 est la journalisation, donc là aussi lié au besoin d'écrire sur le disque. Ceci dit, tu as doublement raison du fait même que si je n'écris que peu, je n'ai pas besoin d'ext2
Sinon, je ne connaissais pas yaffs mais seulement jffs2, merci pour le lien, ça peut m'être utile !!
- répondre
ZeblodS , le 26 September, 2008 - 20:38Il me semble que JFFS et YAFFS ne sont d'aucune utilité sur un SSD car c'est un controleur qui se charge de faire les optimisations, je me trompe ?
- répondre
Ulhume, le 27 September, 2008 - 00:37@Zeblods oui, tu as absolument raison, la logique d'un JFFS est intégré dans les contrôleurs SSD. Mas là il s'agit surtout de compact flash utilisées via un contrôleur IDE.
Poster un nouveau commentaire