Buenas.
Estoy haciendo cosas con el Ryzen 9 9900X (12 núcleos con SMT desactivado) y quiero priorizar procesos. He estado leyendo sobre el concepto de niceness en Linux que traducido como amabilidad, es bastante intuitivo (cuando más amable es el proceso, más deja pasar a los demás y cuando más incívico y maleducado, se cuela todo lo que puede). Tiene un valor de -20 (más prioritario) a 19 (menos prioritario). Nice lo he usado en el pasado y nunca he tenido problemas, pero al ver el comportamiento que veo ahora, he tenido que documentarme un poco. Aunque no encuentro una solución al tema.
En esta máquina se ejecutan tres tipos de procesos:
ffpmeg que está configurado para acaparar un hilo de ejecución con un niceness de 19.
whisper que está configurado para consumir 4 hilos con un niceness de 0.
python que está configurado para consumir todos los hilos disponibles con un niceness de 19.
Esos valores de prioridad no son casuales: ffmpeg funciona muy rápido con esta CPU, por lo que no me importa que pueda consumir muy pocos recursos. whisper es bastante más demandante y quiero que consuma siempre todo lo que haya disponible. Y Python es muy demandante, pero sencillamente quiero que consuma lo que les sobra a los demás, compartiendo lo que sobre con ffmpeg.
Esta es una caputura de top:
[image: 1764090697612-c8f47738-2adc-4055-a1b9-92aec9b25fa0-imagen.png]
Cuando también hay un proceso de ffmpeg y la CPU está ocupada, consume muy poca CPU (menos del 30%), que es lo que quiero que haga. Pero como veis en la imagen, python está consumiendo prácticamente 6 núcleos mientras que cada proceso de whisper no llega a 2. Y las prioridades, como se puede ver, están correctamente configuradas.
¿Por qué sucede esto y cómo lo podría solucionar?
Gracias.