OVH Cloud OVH Cloud

Charger un fichier en RAM

2 réponses
Avatar
Remi Moyen
Salut,

J'utilise des données sur CD, et des fois, ça m'agace que quand j'ai
besoin d'y accéder, ben le lecteur se reveille, démarre, fait du bruit, et
lit mes données. Comme j'ai pas mal de RAM (entre 512 Mo et 1 Go, selon
les machines), que je n'utilise pas tout le temps en entier, ben je me dis
que j'aimerais bien charger les fichiers de donnée en RAM, histoire
d'avoir un accès quelque peu (!) plus rapide (et moins bruyant, aussi).

J'ai trouvé que je pouvais utiliser tmpfs, qui marche fort bien, mais qui
nécessite quand même de créer le volume virtuel (au moment du mount), de
copier les fichiers dessus, puis de spécifier à mon application qu'il faut
maintenant utiliser le répertoire de tmpfs au lieu de celui du CD. Et
qu'en plus il faut dimensionner explicitement, donc soit allouer trop de
mémoire, soit calculer de combien j'aurais besoin exactement.

J'aurais bien aimé une solution plus transparente, qui me permettrait de
dire de mettre en cache un fichier, sans avoir à me préoccupper ensuite de
sa localisation réelle (cache ou disque). Un peu, pour continuer à parler
de cache, comme les caches des navigateurs web : quand je charge une page,
je n'ai pas besoin de spécifier si elle est en cache ou s'il faut aller la
chercher, mon navigateur s'en occuppe tout seul.

Est-ce possible, et comment ?
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."

2 réponses

Avatar
Stephane Chazelas
sudo cp /dev/cdrom /dev/ram0
mount -t iso9660 /dev/ram0 /cdrom
(faut activer l'option ou le module dans le noyau).

Si c'est pour écouter des ogg/mp3, ton lecteur audio doit te
permettre de spécifier un buffer, suffit de le mettre très gros
pour qu'il en lise plein à la fois.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]
Avatar
Remi Moyen
On Mon, 1 Dec 2003, Stephane Chazelas wrote:

sudo cp /dev/cdrom /dev/ram0
mount -t iso9660 /dev/ram0 /cdrom
(faut activer l'option ou le module dans le noyau).


Oui ! C'est exactement ça, merci ! J'avais vu passer les ramdisks, mais
j'avais cru que tmpfs serait plus adapté à mon problème.

Y'a juste un détail, pour changer la taille des ramdisks, je n'ai vu que
trois solutions, recompiler le noyau avec une nouvelle taille, passer la
taille en argument au boot, ou en argument au module.

Comme je n'ai pas de module rd, j'en déduis que les ramdisks ne sont pas
en modules dans mon noyau, et donc que j'ai aucun moyen de changer la
taille maxi sans rebooter ma machine ? Ouin.

Si c'est pour écouter des ogg/mp3, ton lecteur audio doit te
permettre de spécifier un buffer, suffit de le mettre très gros
pour qu'il en lise plein à la fois.


Hum, oui, mais pas uniquement. Y'a des vidéos aussi :-)
Bon, je plaisante, mais c'est vrai que pas mal d'applications ont des
réglages possibles d'un buffer. Malheureusement, pas toutes.

En fait, ça me fait le truc quand je travaille sur un article en me
servant d'un CD comme source pour mes images. J'en charge une toutes les
10/15 min, pas toujours la même, et c'est lourd d'attendre à chaque fois
que le CD se reveille. Et comme j'ai besoin de quelques images uniquement,
je vais pas copier tout le CD définitivement sur mon disque.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."