Un saludo a la lista: A ver si me podéis guiar y aconsejar para la nueva que se me avecina.
Administro un servidor en la distancia (muy en la distancia), en el que tenía wheezy, y en el que hace cosa de dos semanas instalé jessie y reorganicé un poco los servicios. No fue una simple actualización, sino una instalación desde cero. El caso es que por la tarde dejó de servir convenientemente (la mayor parte de los servicios no van). He probado a conectarme por SSH y me encuentro con esto: #v+ $ ssh yo@mlejanoservidor [...] Last login: Thu Sep 24 23:56:00 2015 from X.Y.Z.T -bash: fork: No se pudo asignar memoria -bash: xmalloc: no se pueden asignar 4112 bytes (2719744 bytes asignados) Connection to milejanoservidor closed. #v- Parece claro que el servidor se ha quedado sin memoria, ¿no? Así que supongo que me toca averiguar qué programa es el culpable de esto. El servidor tiene 8GB; pero cuando tenía 4GB y corría wheezy (hace cosa de un año), empezó a darme problemas de memoria. Al final descubrí que era debido a que las aplicaciones requerían más memoria de esos 4GB en conjunto, y linux les dejaba reservar más memoria de la que existía (supongo que con la esperanza de que el conjunto nunca alcance el límite del total de memoria). Cuando realmente necesitaban más memoria que la memoria física, empezaban a cascar las aplicaciones. La solución obviamente era ampliar la memoria y así lo hice, pero también añadí, entre tanto, a sysctl,conf: vm.overcommit_memory = 2 para que el núcleo no obrara así. Ahora en el nuevo sistema, también tengo ese valor en el fichero. El caso es que durante algo menos de un año wheezy no dio ningún problema de memoria (y solía haber bastante memoria libre). El nuevo servidor tiene una configuración similar (no la misma), tiene la misma carga y corre prácticamente los mismos servicios, por lo que en condiciones normales no tendría que requerir mucha más memoria. La pregunta es, ¿qué me aconsejáis? No tengo acceso físico al servidor, así que el lunes no seré yo quien se acerque. Supongo que sería interesante poder hacer un "top" o un "ps" para obtener la memoria que ocupa cada proceso, pero no sé si ni siquiera se puede abrir una sesión de bash, quizás sea imposible. ¿Pido que me saquen una foto de la terminal? Quizás haya información interesante en ella. Por otro lado, el curso pasado me hice un script para hacer un seguimiento de la memoria, de manera que cada X tiempo obtenía la memoria libre y los cinco o diez procesos que más memoria consumían. Si me es imposible ahora mismo sacar quién ha sido el culpable, puede ser un buen aliado para tener un historial de la memoria hasta la próxima vez que casque. ¿Se os ocurre algo? Por cierto con eso de 2719744 bytes asignados, ¿a qué se refiere? ¿Asignados a quién? Porque no puede ser la memoria total, que es 8 GB. Gracias de antemano. -- La virtud, como el arte, hallarse suele cerca de lo difícil [...] --- Lope de Vega ---