C’est l’histoire de oomkill…

Qui m’a plombé mon encodage qui venait de passer les 72H et dont il restait, 2 heures … !
*pan*

Out of memory: Kill process 22177 (x264) score 376 or sacrifice child

Killed process 22177 (x264) total-vm:1882488kB, anon-rss:1402056kB, file-rss:0kB

Pour ceux qui ne connaissent pas, oomkill est une routine du kernel Linux permettant de libérer de la RAM en killant un processus (qu’il aura choisit soit disant avec des algorithmes compliqués) quand le système n’a plus de RAM. Tout se passait bien, sauf que j’ai lancé une compilation d’un soft, gcc s’est emballé, il a piquer toute la RAM, et manque de bol c’est x264 (le logiciel d’encodage) qui s’est fait killé …

Trois solutions:

  1. Agrandir mon SWAP, histoire de le faire mouliner un peu plus ;
  2. Acheter 4Go de RAM supplémentaire (Mais la DDR-2 est plus chère que la 3, grrr) ;
  3. Augmenter la priorité du processus d’encodage, celui-ci a alors moins de chances de se faire killer.

Sur ce, je vais me pendre, et je reviens. (C’est possible ça ?)
oomkill je te hais !

4 replies on “C’est l’histoire de oomkill…”

  1. @Firesledge :
    Actuellement, x264 prend toujours 95-100% de tout mes cœurs, donc le découpage pour faire du parallèle pas besoin.
    Par contre c’est effectivement une bonne solution pour pallier à des erreurs. Mais ici pas d’avisynth, donc sans trim je vois pas comment faire, sachant que x264 avec lavc ou ffms n’est pas assez précis pour faire du découpage.

  2. Moi je vote pour la solution 4, découper ton encodage en morceaux et concaténer le tout à la fin. Si ça plante à un moment ou à un autre, tu n'as pas à tout refaire, mais uniquement la partie qui a planté. En plus, ça donne la possibilité de lancer plusieurs morceaux à la fois (pourvu que tu aies assez de RAM) et de réellement saturer tous les cores de ton ou tes CPU, et donc de terminer plus vite.

    Perso, je ne m'embête plus : je segmente systématiquement toute enco prévue pour durer plus de 5-6 heures.

  3. Peut-être qu'en faisant une première passe rapide pour convertir la source en lossless avec uniquement des I-frames tu pourras obtenir un découpage précis sous x264 ? Je n'ai jamais essayé, mais ça pourrait être une solution. Et sinon, Avisynth ne marche pas avec Wine ?

  4. @Firesledge :
    Il fonctionne très bien avec wine. Mais je n’en n’ai pas besoin. Les outils de GNU/Linux me suffisent. Justement le seul truc intéressant avec avisynth c’est le trim, et les fonctions avancés de filtrage, mais sur du BDRip … pas besoin.
    Quand au découpage via une lossless en augmentant les keyint je suis pas convaincu du gain de temps ^^’. D’autant plus que ça à toujours était stable, c’est bien la première fois que je plante une enco, en bourrant la RAM.

Comments are closed.