Quiero monitorear el uso de memoria de un proceso y quiero que se registren estos datos. ¿Existe tal herramienta?
memory
monitoring
tshepang
fuente
fuente
Respuestas:
He escrito un guión para hacer exactamente esto . Básicamente muestra
ps
a intervalos específicos, para construir un perfil de un proceso particular. El proceso puede ser iniciado por la herramienta de monitoreo en sí, o puede ser un proceso independiente (especificado por pid o patrón de comando).fuente
Ocasionalmente, cuando surge la necesidad, simplemente hago:
No es una solución elegante, pero hace el trabajo si desea que el valor bruto rápido verifique su hipótesis.
fuente
grep --line-buffered <process> >>somefile
que forzar grep para generar cada línea sin almacenamiento en búfersar
( System Activity Reporter ) del paquete sysstat es tu amigo en este caso.Otra forma sería el monitoreo combinado con datos históricos, por ejemplo, Munin, pnp4nagios, rrdtools, ...
fuente
sar
centrarse en un solo proceso? principalmente parece monitorear el sistema como un todopidstat
comando también del paquete sysstat proporciona una interfaz bastante agradable para informar estadísticas sobre un solo proceso.Además del sar mencionado anteriormente, recomendaría encima . Guarda un registro binario que puede examinar luego, y además la memoria guarda mucha otra información.
fuente
Podrías probar Valgrind .
fuente
Me gusta la respuesta simple de Sridhar, pero rodé la mía antes de probar la suya:
Básicamente solo es útil si desea una salida estructurada. Cambie 7274 según corresponda. También Python 3.5. Algo se rompió
_asdict()
, así que usa Python 2.El archivo de salida se ve así:
fuente