Charger un dossier en RAM et pointer vers se dossier

Bonjour,

Je cherche comment charger tout un dossier (2GO) dans la mémoire vive
pour ensuite faire plusieurs liens symboliques pointant vers se
dossier.

Le but est de réduire radicalement l’utilisation du disque dur pour
la lecture de ces fichiers, et de permettre à certaines applications
utilisant ces mêmes fichiers de booter beaucoup plus vite.

J’aimerai aussi connaître les inconvénients de cette méthode si elle
est réalisable. (Oui j’ai cherché sur google et sur ce forum pour essayer
de trouver un sujet qui en parlait, mais c’est assez difficile, je vais
continuer mes recherches en attendant vos réponses.)

Merci d’avance.

(Edit : Je pense avoir trouver des pistes assez intéressante,
en fait il suffirait de monter une partition dans la mémoire
vive (Je ne savais pas qu’on pouvait le faire).)

Salut,

Si ce fichier est suffisament sollicité, et si tu as assez de RAM ton système va se charger de cette tâche sans que tu interviennes. Seuls les morceaux qui ne sont pas appelés assez souvent iront en swap et cela seulement si le système a besoin de cette place pour plus utile :slightly_smiling:

Mais est-ce qu’on peut configurer tout ça ?
Je veux dire, est-ce qu’on peut faire en sorte
que dès la première utilisation d’un fichier dans
un dossier cibler, il soit chargé en mémoire.

Parce que même si un fichier de 200Mo n’est utilisé
que 15 fois en 24 heures, le fait de ne pas avoir à
le recharger depuis le disque dur si on a de l’espace
libre en ram pourrait s’avérer utile je pense, surtout
si on a besoin que ça soit faire rapidement, sans baisser
ne serait-ce que pour 10 secondes les performances en lecture.

A quelle fréquence un fichier doit-il être lu pour que le système
d’exploitation le balance en mémoire ?

Re,

Tant qu’une autre application ne réclameras pas la place pour pouvoir s’effectuer dans de bonnes conditions les données seront conservées en mémoire et de plus les temps d’accès se chiffrent en millisecondes, pas en secondes :exclamation: :exclamation:

Bonjour

Moi je crérais un ramdisk d’une taille donnée correspondant à la taille du dossier à charger en RAM.
Je copierais au démarrage (via le même script qui monte le ramdisk) le dossier en question sur le ramdisk.
Et le tour est joué.

Avantage : temps d’accès

Inconvénient :

  • aucun si dossier en lecture uniquement, sinon :
  • il faut prévoir un script à la fermeture de la session qui sauvegarde le dossier modifié dans la ram le cas échéant sur une partition du disque dur car la ram est volatile et se vide à l’extinction du pc (risque de perde de données)
  • perte de données assurée si plantage inopiné du système (avant sauvegarde)

:smt006

bon vala ce que je fait :stuck_out_tongue:

dans le fichier fstab:

tmpfs          /home/dd_ram     tmpfs  mode=1777,rw,defaults,size=850m,uid=1000,gid=1000,nr_inodes=100000k             0    0

il faut que /home/dd_ram existe

la taill est de 850 mb mai tu peux facilment monter :slightly_smiling:

je m’en ser pour de-tarer ou télécharger les truc genre film et de voir si sa contien pas une salopp* si oui on démonte & remonte et c’est clean, pas de trace sur le disque :slightly_smiling: si la machine plante c’est clean :slightly_smiling:
si c est sans interet je laisse sa m’evite un rm qui va effacer la ou sa ne devrai pas :wink:

tu peux binder tes répertoire ou juste faire un lien :slightly_smiling:
il te suffi d’adapter sa dans un script :slightly_smiling:

[quote=“ggoodluck47”]Re,

Tant qu’une autre application ne réclameras pas la place pour pouvoir s’effectuer dans de bonnes conditions les données seront conservées en mémoire et de plus les temps d’accès se chiffrent en millisecondes, pas en secondes :exclamation: :exclamation:[/quote]

Malheureusement le temps d’accès est plutôt d’une seconde et un peu plus (voir beaucoup plus quand le réseau est surchargé) et le débit ne sera que d’1 à 2 Mo/s !
C’est pour ça que je me dis que cette solution est la meilleure, forcer le système d’exploitation à charger ces fichiers en mémoire, les débit et le temps d’accès seront incomparables tellement l’écart sera grand. Maintenant la question est, comment faire pour que le système d’exploitation ne remette pas le fichier en ram si l’application lui demande ne voyant pas qu’il y est déjà ?

Autant prendre le temps de charger 1 ou 2 Go de fichier fréquemment utilisés en ram une bonne fois, même si ça prendra du temps, mais au moins ça soulagera les accès disque pendant une bonne semaine (ou un mois ça dépendra de quand il sera reboot)

[quote=“Solidstatedrive”]Bonjour,

Je cherche comment charger tout un dossier (2GO) dans la mémoire vive
pour ensuite faire plusieurs liens symboliques pointant vers se
dossier.

Le but est de réduire radicalement l’utilisation du disque dur pour
la lecture de ces fichiers, et de permettre à certaines applications
utilisant ces mêmes fichiers de booter beaucoup plus vite.

J’aimerai aussi connaître les inconvénients de cette méthode si elle
est réalisable. (Oui j’ai cherché sur google et sur ce forum pour essayer
de trouver un sujet qui en parlait, mais c’est assez difficile, je vais
continuer mes recherches en attendant vos réponses.)

Merci d’avance.

(Edit : Je pense avoir trouver des pistes assez intéressante,
en fait il suffirait de monter une partition dans la mémoire
vive (Je ne savais pas qu’on pouvait le faire).)[/quote]

Il n’a jamais été question jusqu’à maintenant d’un passage par le réseau !

En fait le disque dur n’est pas physiquement dans le
serveur, c’est pour ça que tout passe par le réseau,
et que je cherche un moyen de combler ce défaut avant
de louer le serveur ^^