Trancoder utilise trop de CPU


#1

Bonjour,

Quand le trancoding est activé, mon serveur monte à 485% CPU, surchauffe et s’éteint en une vingtaine de seconde.

J’utilise Peertube avec debian sur un ancien pc muni d’un vieil i5, d’un GPU, 8gb de RAM et 500gb de mémoire. Je ne suis pas un spécialiste de Debian mais les autres processus semblent naturellement maxés à 100% CPU. Est-ce que ffmpeg outrepasse cette limite?

Même avec le transcodage désactivé, Peertube n’annule pas la tâche en cours, et le serveur surchauffe au lancement. Je n’ai pas trouvé d’autre solutions que de réinstaller.

Est-ce normal que le processus ffmpeg tire autant sur le CPU? (config automatique sur les coeurs)

Il est assez difficile de faire des tests, il faut faire refroidie la bécane à chaque fois, et j’ai peu de faire vieillir prématurément le hardware.


#2

Hello,

Désactiver le transcodage n’annule effectivement pas les tâches en queue dans Redis, qui sont relancées en cas d’interruption.

Le processus ffmpeg est gourmand en ressources, ça c’est sûr… mais peut-être que ffmpeg a du mal a détecter automatiquement le nombre de threads à utiliser. Essaies de fixer manuellement son nombre. Un i5 sans hyperthreading devrait avoir 4 threads, donc le fixer à 1 ou 2 threads devrait suffire.


#3

Merci de ta réponse,

Si je fais un essai, et que ça surchauffe quand même, je devrai donc réinstaller?

(j’utilise une image docker. Les réinstallations à la main ont menés à une reprise de la tâche en cours. à la fin j’ai réinstallé débian…)


#4

Si tu fais un essai et que ça surchauffe, tu changes le paramètre dans le fichier de configuration à la main, et tu purge les tâches dans redis via redis-cli flushall avant de relancer PeerTube. C’est un peu bourrin (surtout si d’autres applications utilisent Redis) mais c’est mieux que de réinstaller ton instance PeerTube.

Je ne sais pas ce que ça change pour ton setup docker.


#5

Bonsoir,
Ça n’est pas normal que le cpu surchauffe et qu’il se mette en sécurité thermique. Tu dois avoir un soucis de refroidissement. Est-ce que le ventilo du cpu est plein de poussière et ne peux plus faire son office correctement ? Est-ce que tu as overclocké le processeur ?
Baisser le nombre de threads utilisable par ffmpeg comme indiqué par @rigelk serait une bonne piste aussi au moins dans un premier temps pour que tu n’aies pas tout à réinstaller continuellement.


#6

le pc n’est clairement pas dans sa meilleure forme mais le ventilo, quoique poussiéreux, est fonctionnel. C’est la seule situation dans laquelle le pc surchauffe (et en très peu de temps).

Je n’ai pas overclocké. Je ne comprend pas pourquoi ffmepg se permet de se mettre à 400%+ sur un seul thread.


#7

Quand j’étais étudiant, on m’a appris qu’aucun logiciel ne peut atteindre 100% de CPU sans privilège root sous Linux.

Ou les développeurs de Linux ont abandonné cette mesure de sécurité, ou des développeurs tiers ont trouvé comment passer outre les garde fous de ces systèmes (ou c’est les deux à la fois).


#8

est-ce que le fait que le processus vienne de l’image docker permettrait de contourner cette limite?


#9

possible. Je ne suis pas expert de docker.

Tu peux toujours essayer de limiter les ressources que peux prendre ton container PeerTube via les contraintes CPU/IO: https://stackoverflow.com/a/45281094


#10

PREMABULE :

:rotating_light: Ce message se conforme aux Règles de Crocker
:peace_symbol: :v: et respecte la loi Poe :wink:
:notebook: RFC 1855 : Ce que vous ne feriez pas lors d’une conversation réelle face à votre correspondant :dolls:
Ne prenez pas l’Internet comme bouclier pour le faire. :bouquet:


Coucou bonjour,
1+ en effet ce n’est pas normal que le CPU / CM / ordi se mette en sécu thermique
Tu as un autre problème HARDware à fixer avant toute chose

Vérifie tes “cables” débranche tes ventillos et vérifies qu’ils sont sur “FANSYS” et pas “case” ou autre ( par exemple )
Essaie de voir aussi dans ton bios si tu as pas des options sur FAN / thermal etc…
Quand ça plante justement redémarre et va dans ton bios tu devrais trouver une sonde température qui d’indique … la température

Ensuite il y a VT / Hyperthread
Tu peux laisser VT activé mais vire l’hyperthread : dans ces cas là c’est plus problématique que “performatif”
TON i5 tu sais le quel c’est ?

Pour les +> 100% c’est normal quand tu fais un TOP ( c’est ce que tu dois faire ?)
C’est un loadaverage que te retourne TOP
De mémoire tu fais “1” pour voir le multicore
( http://manpages.ubuntu.com/manpages/bionic/fr/man1/top.1.html )

Sinon utilise htop ou vmstat …

Mais pour l’instant règle ton soucis de chaleur

Si tu fais un truc bourrin genre un xz / tar gzip ou un encodage à la main
Le but est de FAIRE CHAUFFER LE CPU : est-ce que le CPU charge ?
ton top passe 400% ++ ?
Et est-ce que le PC plante ??

Essaie de rajouter un ventillo pour aérer l’ensemble du boîtier
Au pire passe ton bios en factory / reset

Par contre tu nous dis que tu as un GPU sans préciser lequel !?
Ca peut venir de là tes plantages et pas forcément du CPU

( JE dis ça car j’ai eu le soucis sur mon PC perso ce WE )
Je fais du montage vidéo et lors du transcodage le CPU monte à 100 % = Normal
Et le GPU aussi est fortement solicité
Et ça plante au bout de 2 … 3 minutes <-- problème résolu de chauffe

EN REVANCHE si je fais un GROS zip des familles le CPU monte à 100 % mé le PC plante pas
Au final c’est le GPU nvidia qui coupe à 80°C : j’ai ajouté un ventillo et il ne dépasse plus les 70°C
d’où ma question plus haut …

BON COURAGE et fait nous des feedback :wink:

Dfalm