[NSLU2] TorrentFlux et "Torrent died" à cause d'un manque de mémoire
Bonjour à tous,
English readers : if you want translation you can contact me.
Toujours dans la série NSLU2, je vous avait parlé récemment de l'installation de TorrentFlux. Je vous avait également parlé de l'optimisation du réglage de la SWAP sous Linux embarqué.
Et bien surprise : les 2 ne font pas forcément très bon ménage !
En effet, les téléchargements (surtout de gros fichiers) avaient tendance à couper régulièrement, me donnant la fameuse erreur "Torrent Died" (bien connue des utilisateurs de TorrentFlux si on en croit leur forum). En regardant les logs de ma machine, je me suis rendu compte que les scripts python de téléchargement (BitTornado) étaient tués par le système à cause d'une quantité de mémoire insuffisante.
Bizarre, car j'ai plus de 700 Mo de SWAP de libre et la mémoire utilisée à ce moment atteignait les 40 Mo. Je suppose (étant donné l'évolution chaotique et imprévisible de la répartition mémoire RAM / virtuelle pendant le téléchargement) que le script devait demander trop de mémoire d'un coup, et que le système n'avait pas le temps d'allouer de la SWAP pour combler la demande. Ça n'est que supposition, j'aimerai bien comprendre...
En tout cas c'est cohérent avec le fait qu'en rajustant la swappiness à 40% au lieu de 15%, tout marche maintenant. Je pense qu'avec 40% il hésite beaucoup moins à réserver de la mémoire SWAP et donc le système peut répondre aux demandes de mémoire soudaines plus facilement (il anticipe plus).
À noter que le système "s'enlise" plus facilement au bout de quelques heures sur de gros fichiers (une bonne partie des autres processus sont en SWAP et ne repassent pas en mémoire vive quand une partie se libère), mais c'est ça ou pas de torrent.
Bref, ça marche, c'est cool.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :