Se estiver correto, a saída free
vem 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 strace
para descobrir quais arquivos um programa está usando. Por exemplo:
strace -f -o top.log -e trace=file top
Depois é só pressionar q
para sair top
. top.log
Foi criado um arquivo que mostra quais arquivos top
foram 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