Estoy trabajando con apache2 + php y otras aplicaciones de servidor web.
Tengo monitor como sesión conectando a un servidor web. La memoria RAM está llena.
Pero al desconectar una sesión, no libera la memoria RAM.
Tengo monitor vía free -m
, y muestra memoria inédita incluso sin una sesión ahora conectada.
¿Hay alguna solución?
ram
memory-usage
Tanque Tejaskumar
fuente
fuente
htop
para fines de monitoreo. Es mucho más intuitivo y está disponible en los repositorios oficiales. Si realmente se está quedando sin memoria, bríndenos más información, como el tipo de aplicación web que está ejecutando, la cantidad de RAM que tiene, qué se usa y todo. Pegue la salida de free -m y cosas así.Respuestas:
Puede liberar memoria no utilizada con este comando:
Este comando sincroniza los datos en caché y luego escribe un parámetro del sistema operativo en tiempo de ejecución, ubicado en / proc / sys / vm / drop_caches . Este parámetro es leído por el núcleo una vez, luego libera la memoria no utilizada.
Básicamente, el núcleo reserva tres secciones en caché, que podrían aumentar el uso de memoria:
Escribir en este parámetro hará que el kernel elimine las memorias caché de página, las dentries y los inodos de la RAM, lo que hará que la memoria se libere. Hay tres valores que se pueden asignar:
Importante: después de la ejecución, esto volverá al estado normal, lo que significa comenzar a almacenar en caché de páginas, dentries e inodes nuevamente. Úselo según la configuración y la aplicación de su servidor.
fuente
sudo sync & sudo sysctl -w vm.drop_caches=3
sudo
una segunda vez. De lo contrario me sale el errorsysctl: permission denied on key 'vm.drop_caches'