OVH Cloud OVH Cloud

xine, dvd et mémoire

7 réponses
Avatar
Benoît Noyelles
Bonjour à tous.

J'ai remarqué un phénomène curieux : lorsque je lis un dvd avec xine, ça
marche mieux quand la machine vient d'être allumée (apparemment parce
que la mémoire est peu utilisée), je dirais même que ça marche bien.
Lorsque je lis le dvd alors que j'ai déjà utilisé des logiciels avant,
la lecture parfois ne se fait pas, et parfois elle est saccadée (le son
impec, saccadée au niveau des images). Alors je fais un top et je
constate que mes 256 Mo de RAM sont utilisés (à quelques ko près), mais
pas du tout le swap. D'où ma théorie : il met le film dans un buffer
tant qu'il reste de la RAM de libre, après il lit le dvd. Mais pourquoi
ne swappe-t-il pas? Il me semble que ça irait plus vite de lire le swap
plutôt que le dvd... Y'a pas un moyen de lui dire gentiment que le swap
c'est pas fait pour les chiens? Ou ma théorie est fausse et je suis à
côté de la plaque, dans ce cas j'aimerais savoir comment garder une
certaine fluidité déans la lecture de mon dvd svp...

Je ne sais pas si ça a vraiment une importance, mais je suis en Linux
2.6.3... Il me semble me souvenir que j'avais des problèmes de lecture
aussi avec MPlayer, mais je n'ai pas poussé les investigations jusqu'à
faire un top.

Merci!

Benoît.

7 réponses

Avatar
Rakotomandimby Mihamina
Benoît Noyelles wrote:
Bonjour à tous.


Bonjour

Mais pourquoi
ne swappe-t-il pas? Il me semble que ça irait plus vite de lire le swap
plutôt que le dvd... Y'a pas un moyen de lui dire gentiment que le swap
c'est pas fait pour les chiens?


Je sais que si tu poste sur un groupe fr.* c'est que tu preferes
t'exprimer en Francais.
Mais je te suggere de poser la question _aussi_ sur la Mailing list de
Xine, si tu as observé ce souci sous Xine.
Si tu as les meme symptomes sous Mplayer (apres avoir verifié avec le
top), c'est que c'est pas forcement le lecteur logiciel qui est en cause.
Cela dit, est-ce que tu fermes "les autres applications" ou tu les
laisse ouvertes ?
Quelles sont ces applications ?
Quelle distribution utilises-tu ?

--
Rakotomandimby Mihamina Andrianifaharana
Tel : +33 2 38 76 43 65
http://stko.dyndns.info/site_principal/Members/mihamina

Avatar
Benoît Noyelles
Rakotomandimby Mihamina wrote:


Je sais que si tu poste sur un groupe fr.* c'est que tu preferes
t'exprimer en Francais.
Mais je te suggere de poser la question _aussi_ sur la Mailing list de
Xine, si tu as observé ce souci sous Xine.




pas bête, j'ai pas trop ce réflexe


Si tu as les meme symptomes sous Mplayer (apres avoir verifié avec le
top), c'est que c'est pas forcement le lecteur logiciel qui est en cause.
Cela dit, est-ce que tu fermes "les autres applications" ou tu les
laisse ouvertes ?



maintenant je les ferme, mais on dirait qu'il se souvient que ça a été
ouvert


Quelles sont ces applications ?



Mozilla 1.5.1 essentiellement. Y'a aussi XFce4, que bien sûr je ne ferme
pas ;-)


Quelle distribution utilises-tu ?




LFS

Avatar
no_spam
On Tue, 15 Jun 2004 13:35:21 +0200, Benoît Noyelles wrote:

Bonjour à tous.

J'ai remarqué un phénomène curieux : lorsque je lis un dvd avec xine, ça
marche mieux quand la machine vient d'être allumée (apparemment parce
que la mémoire est peu utilisée), je dirais même que ça marche bien.
Lorsque je lis le dvd alors que j'ai déjà utilisé des logiciels avant,
la lecture parfois ne se fait pas, et parfois elle est saccadée (le son
impec, saccadée au niveau des images). Alors je fais un top et je
constate que mes 256 Mo de RAM sont utilisés (à quelques ko près), mais
pas du tout le swap. D'où ma théorie : il met le film dans un buffer
tant qu'il reste de la RAM de libre, après il lit le dvd. Mais pourquoi
ne swappe-t-il pas?


Xine ne peut pas swapper. Le kernel gère le swap, jamais les applis.
Par contre, il pourrait éventuellement créer un fichier temporaire.
Mais c'est une assez mauvaise idée: les accès disques à ce fichier
ralentiraient la lecture DVD, donc le remede risquerait d'être pire
que le mal...

Il me semble que ça irait plus vite de lire le swap
plutôt que le dvd...


Pas sur, si les deux sont utilisés en même temps.

La vrai solution, c'est qu'il soit un peu plus intelligent et qu'il
se réserve un buffer mémoire plus gros.
Ou peut-être tout simplement d'augmenter le read-ahead du DVD...
que dit hdparm -a /dev/<le_dvd> ?

Avatar
Benoît Noyelles



Xine ne peut pas swapper. Le kernel gère le swap, jamais les applis.



attends, tu veux dire que les applis ne voient pas l'ensemble {RAM+swap}
comme une seule entité? Marrant, ça bouleverse une de mes idées
reçues... Mais je reconnais que ça explique bien ce qui se passe...
La solution serait donc de racheter de la RAM?


Ou peut-être tout simplement d'augmenter le read-ahead du DVD...
que dit hdparm -a /dev/<le_dvd> ?





"read-ahead" je sais pas trop, j'ai jamais entendu parler, mais je me
souviens qu'à une époque j'avais tenté de bidouiller le hdparm pour
avoir le DMA ou pas, ça n'avait l'air de rien changer au niveau des
performances de lecture


la commande je ne pourrai la taper que ce soir...


Avatar
Benoît Noyelles
Le Tue, 15 Jun 2004 23:17:39 +0200, no_spam écrivait :
Ou peut-être tout simplement d'augmenter le read-ahead du DVD...
que dit hdparm -a /dev/<le_dvd> ?



readahead = 256 (on)

est-ce une valeur acceptable?

--
Benoît NOYELLES - Doctorant en astronomie à Lille
site perso http://perso.wanadoo.fr/benoit.noyelles
non à la pollution lumineuse : http://asso.nordnet.fr/carl/eviter.htm

Avatar
no_spam
On Wed, 16 Jun 2004 18:05:07 +0000, Benoît Noyelles wrote:

Le Tue, 15 Jun 2004 23:17:39 +0200, no_spam écrivait :
Ou peut-être tout simplement d'augmenter le read-ahead du DVD...
que dit hdparm -a /dev/<le_dvd> ?



readahead = 256 (on)

est-ce une valeur acceptable?


Ca dépend du kernel. Sur un 2.4, c'est 256 secteurs, c'est plutot
beaucoup.
Sur un 2.6, c'est 256 octets, et là c'est tres peu...

Et, au cas ou, le grand classique: vérifie que la DMA est bien activée,
on ne sait jamais...


Avatar
no_spam
On Wed, 16 Jun 2004 07:43:00 +0200, Benoît Noyelles wrote:




Xine ne peut pas swapper. Le kernel gère le swap, jamais les applis.



attends, tu veux dire que les applis ne voient pas l'ensemble {RAM+swap}
comme une seule entité?


Si, justement: les applis ne voient jamais le swap:
le kernel se débrouille pour remonter les pages de swap en RAM quand
une appli en a besoin (en déclenchant des fautes de pages grâce à la
MMU). Ainsi, une appli ne sait jamais que la zone de data auquelle
elle accède vient de sortir du swap.
L'appli peut uniquement accéder à des statistiques sur le nombre de
fautes de pages qu'elle génère (mais la plupart ne sont pas lié au
swap, en règle générale).

Marrant, ça bouleverse une de mes idées
reçues... Mais je reconnais que ça explique bien ce qui se passe...
La solution serait donc de racheter de la RAM?


Ca dépend de la vrai nature du pb...

Ou peut-être tout simplement d'augmenter le read-ahead du DVD...
que dit hdparm -a /dev/<le_dvd> ?

"read-ahead" je sais pas trop, j'ai jamais entendu parler, mais je me

souviens qu'à une époque j'avais tenté de bidouiller le hdparm pour
avoir le DMA ou pas, ça n'avait l'air de rien changer au niveau des
performances de lecture


Le read-ahead influe sur les performances puisqu'il indique au disque
comment gérer son cache: ca lui indique quel est la taille du bloc
de donnée qu'il doit physiquement lire quand on lui réclame un secteur.
En général, on demande les secteurs suivants juste après et un
read-ahead bien ajuster permet de faire en sorte que le secteur voulu
soit presque toujours déjà dans le cache du disque quand on le demande,
sans toutefois trop remplir, si possible, le cache à chaque accès.