exploitez votre RAM et accelerez le fonctionement d'application gourmandes

Mon EeePC est vraiment sympa; sauf qu'à l'usage certaines opérations sont extrêmement longues à être traitées. Globalement l'ouverture d'une application entraîne des accès disques que mes petits SSD semblent avoir du mal à encaisser et ce, malgré avoir joué avec mes variables d'environnement pour les déplacer dans sur un disque différent de l'applicatif en lui même.

Oui mais voila; c'était sans compter sur la superbe découverte faite il y a de ça quelques jours. je savais, sans jamais trop l'avoir fait, qu'il était possible de stocker des données dans la mémoire vive de l'ordinateur plutôt que sur le disque dur permettant ainsi à l'applicatif de bénéficier des temps d'accès qu'offre votre mémoire vive. Vous trouverez ici, un rappel sur les temps d'accès offerts par différents types de RAM ainsi que leur taux de transfert. Pour un avoir ordre d'idée; les taux de transfert offerts par la DDR2 sont de l'ordre du nano seconde selon la cadence de votre mémoire vive, contre 1 ms pour un disque SSD et 20ms pour un disque IDE.

Les disque virtuels

Comme vous pouvez l'imaginer, l'idée est donc d'utiliser la RAM comme un espace de stockage standard aux yeux de votre OS et ainsi faire pointer des applications ou encore des espaces de stockages temporaires utilisées par votre OS ou encore les diverses applications que vous pourrez lancer. Il existe donc des applications permettant d'allouer une partie de votre mémoire vive à un espace de stockage que vous trouverez dans votre poste de travail au même titre que vos différents périphériques de stockage.

J'ai pour ma part utilisé l'outil AR RAM Disk. Sur 1 Go de RAM disponible sur mon portable; j'ai alloué 256 Mo pour le disque virtuel. Ceci à l'usage semble amplement suffisant le trouvant pour le moment aux alentours de 130 Mo d'espace occupé. Ce choix est peut être à ajuster en fonction de vos besoins.

Note : c'est lorsque j'ai voulu renouveler la manipulation sur le poste d'une amie que les problèmes sont apparus. Il semblerait ainsi que l'installation de SP3 pour XP soit un pré-requis pour la mise en œuvre de cette technique. En effet apparemment les pilotes ne sont disponibles sous windows XP qu'une fois le Pack SP3 installé sur la machine. L'autre perte de temps, et non des moindres, a été de retrouver l'applicatif utilisé la première fois ( AR RAM Disk ). Je ne suis pas parvenu a remettre la main sur la version (fonctionnelle) que j'ai précédemment utilisé. J'ai donc fini par récupérer celle que j'avais déjà téléchargé et qui fonctionnait a merveille pour moi. Je met donc à disposition l'archive de l'utilitaire AR RAM Disk.

Voila maintenant que vous avez installé l'utilitaire il ne vous reste plus qu'à redémarrer pour voir apparaitre dans votre poste de travail la lettre relative à votre nouveau disque virtuel.

Optimisations

Déplacer les fichiers temporaires de votre OS dans la RAM.

modifier les variables d'environnements de votre OS poste de travail > options avancées > variables d'environnement et modifier les entrées suivantes en renseignant le chemin vers le répertoire TEMP contenu dans votre RAMDisk.

variables d'environnement à modifier

stocker les applications lourde dans la RAM

utiliser les applications portables et les copier dans la RAM. La RAM étant volatile quelques opérations sont à prévoir si vous souhaitez sauvegarder l'état de vos applications. Il faudra donc à chaque redémarrage de votre machine copier l'application dans la mémoire vive, et à chaque arret de la machine; copier les informations contenues dans la RAM vers votre disque dur.

Automatisation

A ce jour mon EeePC étant encore en édition familiale et membre d'aucun domaine je ne suis parvenu qu'à automatiser la copie du disque dur vers la RAM au démarrage de la machine en créant un script .bat qui ressemble à ça:

load_apps.bat

[bat]
XCOPY D:\apps\FirefoxPortable\*.* R:\firefox\ /E /Y /C

Ensuite, afin de sauvegarder les données contenues dans un espace volatiles vers le disque dur avant l'arrêt du système.

save_apps.bat

[bat]
XCOPY R:\firefox\*.* D:\apps\FirefoxPortable\ /E /Y

Automatiser la copie à l'ouverture de ma session

Afin de lancer automatiquement la copie en mémoire vive des applications au démarrage de la session utilisateur, plusieurs solutions s'offrent à vous. Celle que j'ai retenu consiste à ajouter une entrée dans la base de registre pour lancer un script au démarrage de la session d'un utilisateur donné.

Voici un fichier contenant la clé à ajouter à la base de registre pour que le script se lance automatiquement à l'ouverture de la session utilisateur. load_apps.reg

[bat]
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"load_apps"="\"D:\\scripts\\load_apps.bat\""

A présent, à chaque démarrage de ma session utilisateur mon Firefox est directement copié en RAM depuis mon disque dur.

Pour information j'ai effectué quelques tests grossiers sur mon EeePC 901. Tandis que Firefox prend aux alentours de 40 secondes pour charger les 20 onglets de ma session depuis mon disque SSD; il ne mets que 11 secondes lancé depuis la RAM.

Les plus:

  • Après avoir modifié les variables d'environnement; j'ai assisté à une véritable renaissance de mon ordinateur. De façon globale toutes les applications tournent extrêmement plus vite
  • Charger firefox dans la RAM, bah ça décoiffe...
  • Moins d'accès disque entraîne une durée de vie de votre disque SSD accrue.
  • Moins d'accès disque dans le cas d'un disque dur standard (entendre non SSD ) doit très certainement constituer un gain notable d'autonomie. (si quelqu'un pouvait me le confirmer...)

Les moins:

  • Charger des applications dans la RAM contraint à certaines manipulations et notamment pour sauvegarder les données sur un espace persistant
  • Les systèmes de RAM Disk utilisent un espace donné de mémoire et ne permet pas une allocation dynamique de l'espace. Sous linux, TmpFS par exemple, alloue dynamiquement la quantité de RAM réservée.

Liens connexes:

Commentaires

1. Le dimanche, 11 janvier 2009, 22:41 par Ryan

Sympa ce petit utilitaire !! Faut que je retienne le jour ou je veux triper avec une application pour que ça tourne au taquet !

Moi ce que je cherche en ce moment c'est essayer de faire croire à l'ordi que ma mémoire RAM bah c'est une extension de la mémoire RAM mais de la carte graphique ! j'ai rien trouvé la dessus mais si je trouve je te tiens au courant ;)

foison !

2. Le samedi, 24 janvier 2009, 20:31 par flo|va-nu-pied

Voila je passais juste pour faire savoir que j'ai mis a jour le billet. En effet ayant eu a refaire la manipulation sur le poste d'une amie j'ai pu constater que certaines informations manquaient. C'est maintenant corrigé et mis a jour dans la documentation.
sinon Minot je vois très bien ce que tu veux faire mais j'ai pas encore entendu parlé de trucs pour le mettre en œuvre. T'inquiète pas que si j'ai du nouveau je te tiens au courant ;).
Allez bonne soirée à tout le monde et n'hésitez pas à poster les retours suites à cette manipulation

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

La discussion continue ailleurs

URL de rétrolien : http://blog.tools-fm.com/index.php?trackback/64

Fil des commentaires de ce billet