GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:averigüe qué proceso está utilizando toda la RAM?

En Linux en el top proceso puede presionar < para cambiar el orden de visualización de salida a la izquierda. Por defecto está ordenado por el %CPU así que si presionas la tecla 4 veces lo ordenarás por VIRT que es el tamaño de la memoria virtual que le da su respuesta.

Otra forma de hacer esto es:

ps -e -o pid,vsz,comm= | sort -n -k 2

debería darle una salida ordenada por tamaño virtual de los procesos.

Aquí está la versión larga:

ps --everyone --format=pid,vsz,comm= | sort --numeric-sort --key=2

Muestra la memoria de los procesos en megabytes y la ruta del proceso.

ps aux  | awk '{print $6/1024 " MB\t\t" $11}'  | sort -n

Solo una nota al margen en un servidor que muestra los mismos síntomas pero aún muestra agotamiento de la memoria. Lo que terminé encontrando fue un sysctl.conf de una caja con 32 GB de RAM y configurado para una base de datos con páginas grandes configuradas para 12000. Esta caja solo tiene 2 GB de RAM, por lo que estaba asignando toda la RAM libre a las páginas grandes (solo 960 de ellos). Establecer páginas grandes en 10, ya que no se usó ninguna de todos modos, liberó toda la memoria.

Una revisión rápida de /proc/meminfo para buscar la configuración de HugePages_ puede ser un buen comienzo para solucionar al menos un acaparamiento de memoria inesperado.


Linux
  1. ¿Cómo averiguo qué proceso tiene un bloqueo en un archivo en Linux?

  2. Qué proceso está usando todo mi disco IO

  3. ¿Cuál es la fuente actual del kernel de Linux?

  4. ¿Cómo saber qué proceso está usando un archivo en Linux?

  5. ¿Cómo saber qué capacidades de Linux requiere un proceso para funcionar?

Usando el comando libre de Linux

Cómo averiguar la lista de todos los puertos abiertos en Linux

Cómo encontrar un nombre de proceso usando el número PID en Linux

Encuentra el tamaño de RAM en Linux

¿Cuál es la definición de una sesión en Linux?

¿Cómo averiguo qué está utilizando todo el espacio en mi partición /?