Tengo dos computadoras portátiles Linux idénticas (Core™ i7-4810MQ con 32 GB de RAM), ambas con Ubuntu 16.04. Ejecutar aparentemente cualquier comando en la máquina 2 lleva entre 4 y 12 veces más tiempo que en la máquina 1, dependiendo de la actividad. Esto se notó a fines de la semana pasada mientras se ejecutaban algunas gradle
compilaciones simples y no ha cambiado desde entonces.
Para medir, ejecuté una compilación de C++ en cada sistema. Elegí este porque hice el programa C++ hace unos meses y lo compilé en ambos sistemas. No se midieron, pero en aquel entonces tomaban aproximadamente la misma cantidad de tiempo. Ejecutando lo siguiente en cada sistema hoy:
make clean && time make -j8
El Sistema 1 finaliza con el siguiente informe:
real 0m54.627s
user 5m54.188s
sys 0m23.008s
El sistema 2 tarda mucho más:
real 11m1.053s
user 65m59.512s
sys 4m10.404s
Las búsquedas en Stack Exchange y Google conducen a numerosos hilos sobre el diagnóstico del problema, pero todos parecen asumir que hay un proceso que ralentiza la máquina. top
, iostat
etc. gnome-system-monitor
informan un uso de recursos idéntico en ambas máquinas: ninguna está ocupada haciendo nada difícil y hay mucha CPU, memoria, ancho de banda e io disponibles.
¿Cuáles son las primeras cosas que se deben verificar cuando un sistema Linux claramente tiene un rendimiento deficiente, pero no se trata de una limitación de la capacidad del hardware?
Respuesta1
No aceptaré esta respuesta, pero esta es la lección que aprendí: si las herramientas de análisis no pueden ayudar, piense en los cambios recientes en el sistema. El único cambio que hicimos en el Sistema 2 que no se había realizado también en el Sistema 1 durante la semana pasada fue iniciar el demonio Gradle en el Sistema 2. Esa tenía que ser la causa del problema, y así fue.