Hay ocasiones en las que notamos que nuestro equipo va especialmente lento sin un motivo aparente.
Es en esas ocasiones cuando nos acordamos de las veces que hemos sufrido estas cosas ante un «ventanuco» con algún tiempo sin ser reinstalado (acabado de instalar va decentemente bien pero tiende con excesiva rapidez a volverse lento e inestable, por no hablar de los virus).
Cuando le ocurre a nuestro Ubuntu Linux es momento de buscar el causante y darle una solución.
Los motivos por los que nuestro equipo puede ir lento son esencialmente tres
Un proceso monopoliza la CPU
Ya sea de forma accidental o intencionada.
Detección
Para detectarlo nada mejor que lanzar el monitor del sistema y ordenar (pinchando sobre el nombre de la columna) por el uso de CPU
En este ejemplo (es una simulación que he hecho con no demasiado acierto por el desfase producido por el tiempo que tarda en realizarse la captura) puede observarse que la terminal está ocupando el 55% del tiempo de cálculo de la CPU.
Solución
Ante este problema podemos:
- Cerrar directamente la terminal (perderíamos lo que estamos haciendo)
- Cambiar la prioridad del proceso. Para ello recomiendo seguir las instrucciones que dimos en su día respecto al manejo de la prioridad en Linux
La memoria RAM está saturada
Para poder ejecutar un programa es necesario pasarlo (junto con parte de sus datos) del disco duro a la memoria física del equipo.
Cuando la memoria RAM no es suficiente suele hacerse uso de cierto espacio del disco duro (memoria swap) que simula la anterior pero con tiempos de respuesta mucho más lentos.
Si tu equipo tarda mucho para cambiar entre las ventanas de los distintos programas abiertos puedes comenzar a sospechar el origen del problema.
Detección
La mejor forma de comprobarlo es, lanzar desde la terminal el comando
free -m
obteniéndose, en la prueba que estoy realizando, el siguiente resultado
Como puede observarse, quedan libres 51 MB de memoria y se ha dispuesto de 34 MB (de los 486 que la forman) de la memoria de swapping.
Solución
Para mejorar la situación nade mejor que, frente al monitor del sistema, ordenar por la columna memoria
detectar los programas que mayor consumo están realizando de memoria y cerrarlos temporalmente para conseguir recuperar la estabilidad del sistema.
Observad que indico cerrar, nada de matarlos porque podrían quedar «restos» de memoria ocupados de forma indebida.
Exceso de accesos a disco
Provocados tanto por un programa que hace uso intensivo de los dispositivos de almacenamiento como por simular la falta de memoria física mediante la de swap.
Detección
Para ello contamos con el comando atop (si no lo tienes instalado prueba con un sudo apt-get install atop), como salida al mismo obtendríamos
En la imagen se observa que hay un 88% de acceso a disco y mirando un poco más en profundidad descubrimos que se debe fundamentalmente al proceso con PID 11182 correspondiente a un comando dd (el chivato es el valor D en la columna S de Status)
Solución
Igual que hicimos con el abuso de la CPU podemos cambiar la prioridad a la hora de los accesos a disco utilizando para ello el comando ionice.
En nuestro ejemplo particular deberíamos lanzar un
ionice -p11182 -n7
Donde
- 11182 es el PID del proceso
- 7 es la prioridad que queremos darle en el rango
- 0 = alta prioridad
- …
- 7 = baja prioridad
Conclusión
Tres posibles causas con sus soluciones y la forma de detectarlas.
Espero que nunca os hagan falta pero si el sistema se está comportando de forma extraña espero que os puedan ser de utilidad compañeros.
Muchas gracias por los consejos.
El problema principal, como ya te comenté, es que cuando al acceso al terminar es prácticamente imposible, por que el sistema se pone, lento lento lento.
De todas maneras, muchas gracias por los consejos, sobretodo el del disco duro, que lo desconocía.
Me gustaMe gusta
Sorry , cambiar terminar por terminal.
Me gustaMe gusta
¿Por que al mover archivos de un disco a otro la CPU se dispara al 100%? ¿Es realmente un proceso tan costoso?
Me gustaMe gusta
Aqui se ha abierto una discusion al respecto, que
se plantea mejor el problema presentado.
http://www.debugmodeon.com/group.forum/133314/linux/controlar-un-ubuntu-bloqueado
Saludos
Me gustaMe gusta
@Rafa puedes probar a cambiar a una sesión en modo texto (CTRL+ALT+F1 o F2, …) y hacer las comprobaciones oportunas desde ella.
@Aziru depende de la implicación de la misma en el proceso; normalmente se cuenta con mecanismos como DMA para evitar su participación en el proceso pero no siempre es utilizado y/o eficiente
Me gustaMe gusta
free -m no me da el valor real que se consume de memoria ram, si el monitor del sistema (pestaña recursos)
Me gustaMe gusta
Es una buena opción (por ser gráfica) pero ¿por qué dices que no devuelve el valor real free -m?
Me gustaMe gusta
Hola, buenos días:
No entiendo bien cómo hacer para el Ubuntu no vaya tan lento. Además se abren ventanas que no he solicitado.
El antivirus no detecta ningún virus(klamAV), paso el GConfCleaner y tampoco sale nada.
Por favor explícalo sencillo, sé poca informática.
Ismael
Me gustaMe gusta
La idea Ismael es buscar el proceso (programa si lo prefieres) que tiene ocupado al procesador o descubrir si el cuello de botella está en el disco duro (el acceso suele ralentizar el sistema completo).
Creo que está bien explicado en el artículo; cualquier duda no tienes mas que preguntar que estaré encantado de echar una mano.
Suerte y un saludo
Me gustaMe gusta
Excelente. Muchas gracias por la datta, ya veremos como y cuando usarla. En mi caso, solo tuve que cambiar la prioridad de un proceso que quizás en algún otro momento le había puesto prioridad muy alta. Lo acomodé por la columna prioridad en el monitor del sistema, le cambié de muy alta a normal y listo.
Muchas gracias nuevamente.
Me gustaMe gusta
A ti Emiliano, un placer
Me gustaMe gusta
hola, dejame hacerte una pregunta, yo instale una imagen de cliente ligeros ubuntu 16.04 y esta muy lento, demasiado como para ponerla ya a funcionar, con un solo usuario conectado se traba al cambiar de pestañas, no se que configurar para poder ponerla mas rápido, si pudieran ayudarme, gracias
Me gustaMe gusta