Retourner sur le site
Source : PC-optimise.info
Date d´impression : 21/04/2019 (07:04:37)

Booster les performances et sécuriser avec un Ramdisk

Page mise en ligne le 25/03/2011 - Mandorlo F.

Sommaire :
  1. Introduction
  2. Création d'un ramdisk sous Windows
  3. Déplacement des fichiers temporaires de Windows
  4. Déplacement des fichiers temporaires du navigateur
  5. Exemples d'applications courantes
  6. Conclusion

1. Introduction

La mémoire vive (RAM) se distingue de la mémoire de masse (disque dur, CDRom...) par une vitesse très nettement supérieure et des temps d´accès bien plus faibles. En effet, à titre de comparaison, il est tout à fait possible d´obtenir des débits avec la mémoire RAM de l´ordre de 5-10 Go/s (en triple channel) avec une latence inférieure à 50 ns, alors que les meilleurs disques durs ne décollent pas des 150 Mo/s (sauf le cache qui est limité par l´interface du disque, soit 133 Mo/s en IDE, 150Mo/s en SATA et 300Mo/s en SATA2), et ont des temps d´accès de l´ordre de quelques ms (soit au moins 10 000 fois plus lent que de la RAM). Par conséquent, un disque virtuel réalisé à partir de mémoire vive (Ramdisk) sera d´autant plus intéressant :

On peut distinguer deux façons d´utiliser la mémoire vive pour réaliser un disque dur :

Ramdisk Acard, utilisant jusque 8 barrettes de DDR2, et une sauvegarde sur Compact Flash, ainsi qu´une batterie pour conserver les données quelques heures, le tout avec une interface SATA2

Ramdisk Acard, utilisant jusque 8 barrettes de DDR2, et une sauvegarde sur Compact Flash, ainsi qu´une batterie pour conserver les données quelques heures, le tout avec une interface SATA2

C´est cette seconde solution que nous allons étudier, puisqu´elle ne coûte absolument rien. Les solutions fonctionneront sous Windows, mais on peut tout à fait imaginer en faire de même sous Linux.

2. Création d'un ramdisk sous Windows

Windows 32 bits (2000,XP,Vista,Seven)

L´installation d´un Ramdisk passe par l´installation d´un pilote de disque virtuel. Pour les versions 32 bits de Windows, on pourra utiliser l´excellent Gavotte Free Ramdisk for Windows. Il suffit de décompresser l´archive, puis de cliquer sur Install, de définir la taille du disque (Disk Size) et la lettre correspondante sous Windows (Drive Letter). Enfin, on veillera à sélectionner Fixed Media pour que le Ramdisk soit reconnu comme un disque dur classique. Cela rendra son utilisation plus transparente.

Capture d´écran de Gavotte Free Ramdisk

Capture d´écran de Gavotte Free Ramdisk pour un Ramdisk de 256 Mo accessible via le lecteur Z.

Windows 64 bits (Vista,Seven)

Pour ceux qui utilisent Vista 64 ou Seven 64, il faut impérativement utiliser un pilote 64 bits. A l´heure de la rédaction de ce document, peu de solutions gratuites et simples d´utilisation existent (ImDisk semble un peu complexe d´utilisation). Pour cette raison, sous Seven 64, c´est la solution fournie par Qsoft (attention, le lien semble temporairement mort) qui a été retenue. Non testée, DataRam semble proposer une alternative gratuite.
Capture d´écran du Ramdisk Qsoft

Capture d´écran du Ramdisk Qsoft pour un Ramdisk de 640 Mo accessible via le lecteur Z.

Quelques comparaisons avec un disque dur et un SSD

Les Benchs pour disque dur qui acceptent de tester les Ramdisk ne sont pas légion. Cependant, on Crystal Disk Mark fait parti des rares à pouvoir le faire. Les captures ci-dessous correspondent à une grappe en RAID0 de Samsung 750 Go (7200 RPM + 32 Mo de cache, première partition) à gauche, et, à droite, notre Ramdisk.

Crystal Disk Mark appliqué à une grappe RAID0 de Samsung 750 Go (7200 RPM + 32 Mo de cache, référence 753 LJ) Crystal Disk Mark appliqué au Ramdisk

Crystal Disk Mark appliqué à une grappe RAID0 de Samsung 750 Go (7200 RPM + 32 Mo de cache, référence 753 LJ, à gauche) et au Ramdisk (à droite)

Question débit, les chiffres parlent d´eux-même : il n´y a pas de comparaison possible. Sur les gros fichiers, pour lesquels les actions séquentielles dominent, on peut aller près de 35 fois plus vite. Mieux, sur les petits fichiers, c´est carrément dans un rapport de 1 à 250 !
A titre de comparaison, voici le résultat (source : Le comptoir du Hardware) d´un des meilleurs SSD actuels, soit le Intel X25-M.

Crystal Disk Mark appliqué au SSD Intel X25-M

Crystal Disk Mark appliqué au SSD Intel X25-M (source : Le comptoir du Hardware)

Là aussi, il n´y a pas de comparaison possible : le Ramdisk est nettement plus rapide ! Par contre, pour les petits fichiers, le SSD prend déjà l´avantage sur le disque mécanique...

Quelques remarques

Il est tout à fait possible d´installer un Ramdisk dans une machine virtuelle, par exemple pour le mode XP intégré aux versions professionnelle de Windows Seven. Ce sera le cas pour ce qui fait référence à XP.

3. Déplacement des fichiers temporaires de Windows

Déplacement des dossiers temporaires pour les applications

Par défaut, les répertoires temporaires de Windows sont définis à l´aide de 4 variables : deux concernent les répertoires pour le système, et deux autres pour l´utilisateur. La plupart des applications utilisent ces variables pour leurs propres fichiers temporaires. Pour y accéder, il faut aller dans les propriétés avancées du système (dans Panneau de configuration>système), puis cliquer sur Variable d´environnement.

Par défaut, ces variables valent :

Afin de limiter l´interaction des différents répertoires temporaires, il est préférable de créer deux dossiers distincts (l´un pour les dossiers temporaires de l´utilisateur, l´autre pour l´OS), comme on peut le voir sur l´image suivante :
Variables utilisateur et système

Variables utilisateur et système.

... puis de modifier toutes les variables. Ces répertoires n´existeront pas au démarrage de la machine : la plupart du temps, ils seront créés lorsqu´ils seront utilisés. Cependant, pour éviter tout soucis, il sera préférable de créer ces dossiers à l´aide de l´éditeur de stratégies de groupe local (en lançant gpedit.msc dans Exécuter...), et d´ajouter un script au démarrage de la machine (aller dans Paramètres Windows>Scripts (Démarrage/arrêt), conformément à cette image :
Création du script de démarrage pour créer les dossiers temporaires

Création du script de démarrage pour créer les dossiers temporaires

Le fichier MakeTempFolders.bat (normalement situé dans C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup) contient naturellement les commandes suivantes :

md Z:\UTEMP
md Z:\WTEMP

Conseil(s) d´utilisation :

Avantage(s) :

Inconvénient(s) :

Déplacement du spooler d´impression

Par défaut, les données imprimées passent par un dossier temporaire particulier, dont le chemin est C:\WINDOWS\System32\spool\PRINTERS. En allant dans les propriétés du serveur d´impression, puis à l´onglet Avancé, on peut modifier ce chemin. C´est tout aussi possible via la base de registre, dans la variable DefaultSpoolDirectory de type chaine, située dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers.

On pourra aussi utiliser un fichier *.reg avec le contenu suivant :

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers]
"DefaultSpoolDirectory"="Z:\\PRINTERS"

Conseil(s) d´utilisation :

Avantage(s) :

ATTENTION

Lorsqu´on imprime des documents volumineux comportant des images de très grande taille (par exemple plusieurs images A4 en 600 DPI), le cache pour l´impression peut rapidement dépasser plusieurs centaines de Mo et saturer le Ramdisk. Dans ce cas, l´impression peut ne pas être assurée jusqu´au bout. Heureusement, dans les propriétés des imprimantes, il est possible de compresser ces données (spool). L´exemple ci-dessous illustre la précédure pour une imprimante Canon. Pour cela, se rendre dans les préférences de l´imprimante, puis dans Options d´impression et cocher Réduire la taille des données de spouler.

Options d´impression pour une Canon IP 4200

Options d´impression pour une Canon IP 4200

Dans le cas suivant, cela permet de ne pas saturer un ramdisk de 620 Mo.
Réduction de la taille du spool d´impression

Réduction de la taille du spool d´impression

4. Déplacement des fichiers temporaires du navigateur

Cas de Firefox (FF)

Il suffit d´aller dans le gestionnaire de variables du navigateur en tapant about:config dans la barre d´adresses. Après avertissement, il suffit de créer une nouvelle chaĆ®ne de caractères nommée browser.cache.disk.parent_directory dont la valeur est justement le chemin du Ramdisk, soit Z:\.
Normalement, à l´ouverture de Firefox, il devrait y avoir un répertoire Z:\Cache dans l´explorateur de Windows.

Variables permettant de configurer le cache de Firefox

Variables permettant de configurer le cache de Firefox

Deux autres variables peuvent affecter l´utilisation du cache :

Afin de mieux gérer le cache, on pourra faire appel à l´extension CacheStatus, qui peut notamment purger les caches automatiquement.

Réglages de Cache Status

Réglages de Cache Status

Cache Status en action

Cache Status en action

Cas de Internet Explorer (IE)

Pour changer le répertoire cache de Internet Explorer, rendez-vous dans les Options Internet. Dans les paramètres (image ci dessous), modifier ensuite la taille du cache et le déplacer.

Déplacement du cache d´internet Explorer 8

Déplacement du cache d´internet Explorer 8

Afin d´éviter les soucis, on pourra aussi s´assurer que l´option Vider le dossier Fichiers Internet Temporaires lorsque le navigateur est fermé dans les options avancées.

Pour Firefox et Internet Explorer

Remarque(s) :

Avantage(s) :

Inconvénient(s) :

5. Exemples d'applications courantes

Les exemples suivant illustrent quelques domaines d´applications pouvant tirer profit du Ramdisk. La liste est évidement loin d´être exhaustive.

PDF Creator

PDF Creator permet de créer une imprimante virtuelle pour générer des PDF gratuitement depuis n´importe quelle application. Après avoir transité dans le spooler d´impression, ce programme prend le relais pour générer les PDF. On peut cependant modifier le répertoire de travail, et le placer lui aussi dans le Ramdisk.
La façon la plus simple pour modifier le répertoire de travail consiste à passer par la base de registre, en modifiant la clef PrinterTemppath dans HKEY_CURRENT_USER\Software\PDFCreator\Program.
Le texte ci-dessous est un exemple de fichier *.reg pour le déplacer dans le dossier dans Z:\PDFCreator\ :

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\PDFCreator\Program]
"PrinterTemppath"="Z:\\PDFCreator\\"

Avantage(s) :

Visionneuses d´images

Les visionneuses d´image utilisent souvent un cache pour afficher les miniatures. Cependant, si ce dernier est conséquent, l´utilisation du Ramdisk peut servir à le purger régulièrement, tout en augmentant la vitesse une fois les miniatures faites lors de la session en cours.

XNview

Pour XNview, il suffit d´aller dans les options, et de configurer selon l´image qui suit :

Réglage du cache de XNview

Réglage du cache de XNview

Le dossier est créé automatiquement lorsque l´application en a besoin.

ACDSee

Pour ACDSee, on accède au réglage équivalent dans les options :

Réglage du cache de ACDSee

Réglage du cache de ACDSee

Avantage(s) :

Le dossier est créé automatiquement lorsque l´application en a besoin.

Retouche d´image : le cache primaire

Lorsqu´on retouche une image un peu lourde, on peut rapidement être amené à utiliser de très grosses quantités de mémoire. C´est notamment le cas si on apporte de nombreuses retouches, et qu´on conserve un historique important. Dans tout logiciel qui se respecte, on peut définir un disque d´échange primaire, et un secondaire. Attention cependant ! Il est à priori peu utile de forcer l´utilisation d´un Ramdisk de très très grosse taille comparativement à la mémoire installée. En effet, plus ce dernier est grand, et moins il reste de mémoire pour les applications. Il n´est donc pas forcément une bonne chose d´utiliser un trop gros Ramdisk.

Corel Photo Paint

Pour Corel PhotoPaint, il suffit d´aller dans les options :

Réglage du cache de PhotoPaint

Réglage du cache de PhotoPaint

On peut veiller à augmenter la portion de mémoire vive utilisable par l´application (ici 2 516 581 Ko).

Gimp

Là encore, il suffit d´aller dans les options :

Réglage du cache de Gimp

Réglage du cache de Gimp

6. Conclusion

L´utilisation d´un Ramdisk permet d´accélérer l´utilisation de programmes bien ciblés. Cependant, le confort apporté par ce genre de manipulation est difficile à mesurer à l´aide de Bench. Il suffit de tester pour se rendre compte que dans certains cas, l´agrément est évident.

Un des premiers avantages, si la plupart des applications ont leur cache en Ramdisk, c´est la propreté de la partition contenant le système : la fragmentation devient très très faible, garantissant un niveau de performance élevé. D´un point de vue sécurité, cela évite aussi que des fichiers temporaires persistent d´une session à l´autre.

D´une façon plus générale, les gains seront intéressants si on a besoin de fréquemment accéder à des données de petite taille pour lesquelles les performances dépendent du temps d´accès. Ils seront aussi intéressants si on souhaite manipuler des fichiers de grande taille, tant que l´on dispose de suffisamment de mémoire. A titre indicatif, sur la machine de votre serviteur, qui comporte 6 Go de mémoire en triple channel, un Ramdisk de 640 Mo satisfait toutes les applications possibles, même la retouche d´images A4 scannées en 600 DPI (soit 100 Mo par fichier en BMP).

Au final, il devient inutile de lancer automatiquement un logiciel de nettoyage (comme CCleaner).

Quelques remarques :

Capture d´écran du Ramdisk Qsoft

Utilisation de la mémoire disponible au dela de 4Go pour les systèmes 32 bits (source : DataRam).

Une astuce pour terminer : on peut créer un raccourci sur le Ramdisk, et l´utiliser comme répertoire temporaire de travail. C´est évidement fort pratique si on ouvre et ferme plusieurs fois des fichiers de quelques centaines de Mo.

Retourner sur le site

Avez-vous apprécié l´absence de publicité sur ce site ?
La publicité est utilisée sur les sites internet pour financer les frais d´hébergement et de fonctionnement. PC-Optimise préférant que ses lecteurs ne soient pas importunés par ces contenus non désirés, c´est un système de dons qui a été mis en place, le reste des dépenses restant à la charge de l´auteur. Si vous avez apprécié, vous pouvez donc contribuer à travers un don via PayPal.


Copyright©PC-optimise.com (mis en ligne le 8 mai 2006) - Webmestre : Mandorlo F.
Page générée en 0,0159s