ver uso tengo saber que procesos para memoria mas estado consumen comprobar como comando chequear c++ linux memory

c++ - uso - ver memoria ram linux terminal



monitorear el uso de la memoria de un programa en Linux (6)

No es exactamente lo que estás buscando, pero echa un vistazo a Valgrind .

¿Hay alguna herramienta disponible en Linux que muestre gráficamente o textualmente el uso de memoria para un programa? Por ejemplo, si escribo un programa C ++ y me gustaría verificar que los objetos se estén asignando y desasignando correctamente en la memoria, ¿hay aplicaciones disponibles que muestren visualmente los objetos que se están instanciando y eliminando? Cuando solía programar en Visual Studio, recuerdo recorrer un programa y usar un panel de depuración para monitorear el uso de la memoria y estoy buscando algo similar a eso en Linux.


Normalmente corro para vigilar el uso general de la memoria.


conky ( capturas de pantalla ) es un gran visor de recursos de computadora simple que se publica en el fondo de escritorio. Vigilo el uso de la memoria y el uso específico del programa.


Es realmente difícil calcular cuánta memoria está usando un proceso en un sistema operativo que admite memoria virtual.

El problema no es calcular cuánta memoria está usando, sino cuánto de eso es privado y cuánto se comparte.

Puede ver / proc / pid / maps o / proc / pid / smaps (tal vez). Estos archivos solo le informarán la cantidad de memoria que el proceso ha asignado a su espacio de direcciones, no la cantidad que está usando, y definitivamente no cuánto se comparte con otros procesos en el sistema.

Incluso los mapas "privados" pueden compartirse porque fork () hace copy-on-write, por lo que una página privada aún se puede compartir con algún otro proceso (relacionado, generalmente padre o hermano). Además, las páginas que han sido mapeadas pero nunca utilizadas no consumirán espacio.

Se puede ver el RSS (tamaño del conjunto residente) de cada asignación, pero eso solo le dice cuánto es residente (en RAM, en lugar de intercambiarlo en un archivo de intercambio, aún no asignado, o aún no cargado a la demanda desde un mapa archivo), ahora cuánto se comparte y con qué.

Supongo que tu mejor opción sería contar la cantidad de memoria privada anónima, lo que podría estar bien, en algunos casos.


1) Primera ejecución

ps -u <your user id>

2) Obtenga et pid del proceso que desea supervisar desde la salida de 1)

3) Luego corre

top -p <the pid of the process you want to monitor>


while (/proc/<pid>/status) echo "VMSize: `ps -p <pid> -o vsize=`" >> ! mem.out pstack <pid> >> mem.out sleep 10 end

grep VMSize mem.out | awk -F'':'' ''{print $2}'' | sort -r -n | head -1 grep VMSize mem.out | awk -F'':'' ''{print $2}'' | sort -r -n | head -1 le dará la memoria máxima.

También use mem.out para ver la huella de memoria y la correlación de la pila actual.