El applet System Monitor de Ubuntu muestra el 100% de uso continuo de la CPU. Si hago clic en él, la pestaña de recursos también lo muestra al 100% de forma continua. Sin embargo, si voy a los procesos para averiguar qué proceso es el culpable, no hay nada por encima del 10%. Si corro arriba no hay nada por encima del 10%. Los procesos individuales no suman el 100%. Intento matar muchos procesos, pero el uso general sigue siendo del 100%. ¿Cómo puedo averiguar qué está acaparando la CPU?
Esta es una situación inusual en una computadora que uso a diario, que nunca está cerca del 100% de la CPU a menos que esté haciendo algo que lo requiera (como cargar 32 pestañas de Firefox), después de lo cual vuelve a un nivel inactivo normal. No es una instalación nueva ni nada. No hay razón para que el procesador deba estar al máximo. No estoy seguro de cuándo comenzó o si cambié algo que causó que sucediera.
Normalmente usaría top o System Monitor y encontraría el proceso que se había salido de control, pero esta vez no puedo encontrar nada con esas herramientas. Persiste después de reiniciar y todo.
Y el procesador obviamente está caliente, por lo que no es una lectura errónea.
Actualización: Traté de eliminar todos los procesos, uno a la vez, hasta que el problema desapareció, y matar a vino-server finalmente lo solucionó, aunque ese proceso nunca superó el 5%. Había habilitado Remote Desktop hace unos días (y obviamente ahora lo he desactivado).
Pero la pregunta sigue siendo: ¿cómo logró un solo proceso usar el 100% de la CPU mientras que la parte superior solo mostró ese proceso al 5%? ¿Cómo identifico culpables como este en el futuro?
Parece que no soy el único que ha tenido este problema:
Sigue siendo un problema tanto alegre como kármico. Curiosamente, tanto System Monitor como htop no muestran que la suma de procesos individuales esté cerca del 100% de la CPU.
Respuestas:
Cuando dice "nada por encima del 10%", ¿quiere decir "nada por encima del 10%"? Solo se necesitan 11 cosas a ~ 9% para alcanzar el 100% en total.
Además, parte del tiempo de CPU utilizado medido podría ser el tiempo de espera de E / S, tiempo en el que un proceso podría estar haciendo algo pero no porque esté esperando que responda un dispositivo de E / S (es decir, ha realizado una solicitud de disco y el disco aún no ha encontrado el bit de datos correcto y lo ha devuelto). En la parte superior, esto se puede ver en las líneas de CPU como la medida% wa. El estado de espera de E / S es un poco extraño: la CPU no está realmente ocupada haciendo nada (por lo que si otro proceso quisiera hacer algún cálculo, podría hacerlo) pero sí cuenta para las cifras de carga del sistema a medida que la carga del sistema representa más que solo la actividad de la CPU.
Sería útil agregar el resultado de
top -n 1
su pregunta.Además, si su núcleo es lo suficientemente reciente como para tener la función de contabilidad de E / S (si está utilizando una versión reciente de Ubuntu, debería estarlo) y está activado, puede ver qué procesos están realizando activamente operaciones de E / S ejecutando
iotop -n 1 -ob
(iotop es posible que no se instale de manera predeterminada, si no lo tiene, intente instalarloapt-get install iotop
o lo encuentre en el administrador de paquetes de la GUI.fuente
top -n 1
a la preguntaTuve un problema similar. El procesador estaba funcionando a pleno rendimiento, y ninguno de los procesos en System Monitor mostró nada. Encontré una respuesta usando el comando "superior" en una ventana de terminal. Mostró que apt estaba acaparando mi CPU sin ninguna buena razón. Entonces, ¿por qué System Manager no mostró esto? Resulta que hay una opción en Ver para todos los procesos; el mío fue verificado como Mis procesos, por lo que nunca vi al culpable. Espero que esto ayude.
fuente
Tengo el mismo problema, pero descubrí que Xorg estaba usando el 50% de la CPU, mientras que esto demostró que [este error] podía solucionarse con el comando
sudo rmmod ums_realtek
. Esta vez, Xorg solo usó alrededor del 5-10% de CPU en el monitor del sistema, pero en la pestaña de recursos aún mostraba el 100%.Mientras estaba monitoreando el monitor del sistema, ¡vi un parpadeo de una raíz de proses usando 100% CPU! No tuve tiempo de ver qué era, pero estoy seguro de que esto tiene algo que ver con eso.
fuente
La primera pregunta es si su sistema parece lento o no responde. Es su CPU, después de todo, pagó por ella, y tiene derecho a ejecutarla a pleno rendimiento para sus propósitos. La segunda pregunta es si solo está tratando de hacer demasiado con su sistema, y debería considerar la actualización si es posible. Mi primera caja de Linux tenía un 486 lento, y fue realmente fácil de completar. Si está ejecutando en un OLPC XO, por ejemplo, sus recursos son realmente limitados.
En serio, es poco probable que estés ejecutando numerosos cerdos de recursos excesivos simultáneamente. Si ningún proceso está tomando más del 10%, entonces su sistema está siendo mordisqueado por patos, y no podrá reducir la carga sin reducir lo que está haciendo.
Dicho esto, revisa los servicios de tu sistema y apaga cualquiera de ellos que no quieras. Considere desinstalar los que está realmente seguro de que no desea (
sudo apt-get remove foo
). Particularmente si está sobrecargando el sistema, cualquier reducción en la carga solo puede ayudar. Intenta salir de los programas que no estás usando.Si hay un proceso que está utilizando toda la CPU disponible, intente encontrarlo ejecutando top y anotando qué porcentaje de recursos están utilizando los procesos principales. Cuando mates a unos pocos, mira si uno sube más rápido que los otros. Por supuesto, matar tal proceso no te comprará mucho, ya que no es más del 10% de la carga.
fuente
apt-get install cpufrequtils
/etc/rc.conf
MODULES=(
# your-modules-don't-touch #acpi-cpufreq cpufreq_ondemand cpufreq_performance)
Después de reiniciar, debe ejecutar
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
para ver qué módulos están cargados.Durante el trabajo, puede cambiar los gobernadores a lo que se ajuste a sus necesidades. Por ejemplo:
cpufreq-set -r -g ondemand
Puede usar uno de los siguientes gobernadores:
cpufreq_performance
)cpufreq_ondemand
)ondemand
, pero la CPU (s) velocidad de reloj cambia gradualmente a través de todas las frecuencias disponibles (basado en la carga sys) (módulo:cpufreq_conservative
)cpufreq_powersave
)cpufreq_userspace
)Si está utilizando GNOME2, hay un applet, que es increíble.
CPU
deberías poder verlo :)Add
Al usar este applet, puede cambiar entre los gobernadores disponibles (los agregó
/etc/rc.conf
antes).Por ejemplo, estoy usando
ondemand
todo el tiempo, porque no necesito el rendimiento completo para ejecutar eclipse y el emulador de Android en mi ArchLinux: PSumma Summarum - google for cpufrequtils y aprende cómo usarlo :) Ese paquete me ahorró tiempo y dinero; D
¡Salud!
fuente