¿Top lee algunos archivos del sistema?

¿Top lee algunos archivos del sistema?

Si estoy en lo cierto, el resultado de freeproviene 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 stracepara averiguar qué archivos está utilizando un programa. Por ejemplo:

strace -f -o top.log -e trace=file top

Luego simplemente presione qpara salir top. top.logSe ha creado un archivo que muestra a qué archivos topse 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

información relacionada