¿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.supervisa el uso de la memoria de un programa en Linux
Respuesta
No es exactamente lo que está buscando, pero eche un vistazo a Valgrind.
Normalmente ejecuto arriba para controlar el uso general de la memoria.
conky (screenshots) es un gran visor de recursos informáticos simple que se publica sobre 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 mapeado en 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" se pueden compartir porque fork() hace copy-on-write, por lo que aún se puede compartir una página privada 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 de 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 demandado- cargado desde un archivo asignado), ahora cuánto se comparte y con qué.
Supongo que su mejor opción sería contar la cantidad de memoria privada anónima, lo que podría estar bien, en algunos casos.
1) Primera corrida
ps -u <your user id>
2) Obtener et pid del proceso que desea supervisar desde la salida de la 1)
3) A continuación, ejecute
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
le dará memoria máxima.
También use mem.out para ver la huella de memoria y la correlación de la pila actual.
- 1. ¿Supervisa el uso de memoria en una aplicación de iphone?
- 2. Cómo perfilar el uso de la memoria de un programa en C
- 3. Limitar la memoria de proceso/uso de CPU en Linux
- 4. Supervisar el uso de la memoria del proceso secundario
- 5. ¿Cómo perfil el uso de la memoria?
- 6. Cómo perfilar el uso de memoria y las prestaciones de un programa openMPI en C
- 7. ¿La mejor manera de medir el uso de la memoria de un programa Java?
- 8. ¿Uso de memoria de un proceso hijo?
- 9. Un simple programa de memoria compartida en C++ escrito en Linux: falla de segmentación
- 10. ¿Por qué el uso de la memoria de mi programa no vuelve a la normalidad después de liberar la memoria?
- 11. Ejecutar un programa en el kernel de Linux
- 12. Optimizar el uso de memoria en numpy
- 13. Diferencia de uso de memoria Java entre Linux y Windows
- 14. ¿Cómo analizar el uso de la memoria del programa en Visual Studio 2010?
- 15. haciendo uso de toda la memoria RAM disponible en un programa Haskell?
- 16. Linux: identificación de páginas en la memoria
- 17. Uso de memoria virtual de Java en Linux, demasiada memoria utilizada
- 18. Registrando el uso de la memoria de un objeto
- 19. Uso de telnet en un programa C
- 20. ¿Supervisa la lista de directorios por cambios?
- 21. ¿Puede un programa asignar la memoria directamente?
- 22. puede supervisord utilizarse para la memoria y el perfil de uso de la CPU de un programa
- 23. ¿Cómo perfilo el uso de la memoria en mi proyecto
- 24. Cómo perfilar un programa Erlang en términos de uso de memoria?
- 25. ¿Cómo uso mqueue en un programa c en un sistema basado en Linux?
- 26. Ejecutando un programa C en Linux
- 27. ¿Cómo puedo controlar el uso de memoria de php en Linux?
- 28. Ejecutar un comando Linux en el programa c
- 29. Instalación de un programa de Python en Linux
- 30. Uso de la memoria del diccionario Python
Buena sugerencia. ¡Parece una herramienta muy útil! – Chris
Con --tool = macizo se obtiene un gráfico visual del uso de la memoria. –
"valgrind - tu nuevo mejor amigo" – LiraNuna