Script de Python usando 100% de CPU
Cuando un script de Python satura la CPU, la primera pregunta es si se trata de cómputo esperado o de un desperdicio accidental.
Common symptoms
- Un script satura constantemente un núcleo
- La máquina se vuelve menos receptiva
- El tiempo de ejecución escala mal con el tamaño de la entrada
Likely causes
- Bucles de espera activa
- Complejidad algorítmica patológica
- Análisis sintáctico (parsing) intensivo o trabajo numérico pesado
Evidence to look for
Un solo script se mantiene por encima del 80% de CPU
El tiempo de ejecución crece más rápido que el crecimiento de la entrada
Las muestras a nivel de función se concentran en unas pocas rutas de código
What it usually means
Muchos problemas de CPU en Python parecen 'solo necesita más servidores', pero en realidad se deben a problemas algorítmicos o de estructura de los bucles.
What to do next
- 1Comprobar si hay bucles de espera activa accidentales
- 2Perfilar la función que más tiempo consume
- 3Reducir el análisis sintáctico (parsing) repetitivo y los bucles anidados
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai