Si estoy en lo cierto, el resultado de free
proviene de la lectura /proc/meminfo
.
En la salida de top
,
¿El resumen de la parte de la memoria no es específico de un proceso del que también proviene
/proc/meminfo
?¿De qué archivos del sistema proviene la información de la memoria para cada proceso?
Gracias.
Respuesta1
Puede utilizar strace
para averiguar qué archivos está utilizando un programa. Por ejemplo:
strace -f -o top.log -e trace=file top
Luego simplemente presione q
para salir top
. top.log
Se ha creado un archivo que muestra a qué archivos top
se accedió mientras se estaba ejecutando.
Básicamente, parece ser /proc/<pid>/{stat,statm}
para los PID de todos los procesos en ejecución y los siguientes archivos ( /proc/
y todas las bibliotecas eliminadas):
anfitrión ~ # gato top.log | sed 's/.*"\([^"]*\)".*/\1/' | grep -vE '(/proc/|/lib/)' | sort | uniq 9375 +++ salió con 0 +++ /desarrollador/nulo /etc/ld.so.cache /etc/ld.so.nohwcap /etc/ld.so.precargar /etc/hora local /etc/nsswitch.conf /etc/contraseña /etc/terminfo /etc/terminfo/s/pantalla /etc/toprc /lib /proceso /sys/dispositivos/sistema/cpu/en línea arriba /usr/lib /usr/share/locale/de_DE/LC_MESSAGES/procps-ng.mo /usr/share/locale/de_DE.utf8/LC_MESSAGES/procps-ng.mo /usr/share/locale/de_DE.UTF-8/LC_MESSAGES/procps-ng.mo /usr/share/locale/de/LC_MESSAGES/procps-ng.mo /usr/share/locale/de.utf8/LC_MESSAGES/procps-ng.mo /usr/share/locale/de.UTF-8/LC_MESSAGES/procps-ng.mo /usr/share/locale/locale.alias /usr/share/terminfo /var/ejecutar/utmp /var/ejecutar/utmpx