Top lê alguns arquivos do sistema?

Top lê alguns arquivos do sistema?

Se estiver correto, a saída freevem de reading /proc/meminfo.

Na saída de top,

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

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

Obrigado.

Responder1

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

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

Depois é só pressionar qpara sair top. top.logFoi criado um arquivo que mostra quais arquivos topforam acessados ​​durante a execução.

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

host ~ # cat top.log | sed 's/.*"\([^"]*\)".*/\1/' | grep -vE '(/proc/|/lib/)' | classificar | uniq
9375 +++ saiu com 0 +++
/dev/nulo
/etc/ld.so.cache
/etc/ld.so.nohwcap
/etc/ld.so.preload
/etc/hora local
/etc/nsswitch.conf
/etc/senha
/etc/terminfo
/etc/terminfo/s/screen
/etc/toprc
/lib
/proc
/sys/dispositivos/sistema/cpu/online
principal
/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/executar/utmp
/var/run/utmpx

informação relacionada