O top lê alguns arquivos do sistema?

0

Se eu estiver correto, a saída de free vem da leitura de /proc/meminfo .

Na saída de top ,

  • é o resumo da parte da memória não específica de um processo também proveniente de /proc/meminfo ?

  • de quais arquivos de sistema as informações de memória de cada processo vêm?

Obrigado.

    
por Tim 14.06.2016 / 14:33

1 resposta

3

Você pode usar strace para descobrir quais arquivos um programa está usando. Por exemplo:

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

Depois, pressione q para sair de top . Um arquivo top.log foi criado para mostrar quais arquivos top acessaram enquanto estava sendo executado.

Essencialmente, parece ser /proc/<pid>/{stat,statm} para os PIDs de todos os processos em execução e os seguintes arquivos ( /proc/ e todas as bibliotecas removidas):

host ~ # cat top.log | sed 's/.*"\([^"]*\)".*//' | grep -vE '(/proc/|/lib/)' | sort | uniq
9375  +++ exited with 0 +++
/dev/null
/etc/ld.so.cache
/etc/ld.so.nohwcap
/etc/ld.so.preload
/etc/localtime
/etc/nsswitch.conf
/etc/passwd
/etc/terminfo
/etc/terminfo/s/screen
/etc/toprc
/lib
/proc
/sys/devices/system/cpu/online
top
/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/run/utmp
/var/run/utmpx
    
por 14.06.2016 / 15:14