Bonjour à tous,
Je me confronte aux problèmes liés à la gestion de grands fichiers récemment.
J'ai observé le comportement suivant. Mon application au fur et à mesure qu'elle lit un grand fichier consomme petit à petit toute la RAM dispo et finit par en être ralentie à cause du swap qui suit.
Un grand fichier c'est plus de 100Go de données.
Après plus amples renseignements et une campagne de googlisation, il apparaîtrait que ce probème serait lié au fait que Linux (a priori les autres systèmes également) garde en buffer les données qu'il lit.
Dans ma situation, ça me pénalise car je stocke par moi même les données lues qui m'intéressent.
J'aimerai donc avoir votre aide/ retour d'expérience sur les points suivants:
- Peut on limiter / mettre hors service le buffer cache
- L'utilisation de O_DIRECT dans un open semble périlleuse et déconseiller par les grands manitous Linux
- Peut on vider ce cache ?
Merci à tous pour votre contribution !
Partager