Читает ли top некоторые системные файлы?

Читает ли top некоторые системные файлы?

Если я прав, вывод freeполучается в результате чтения /proc/meminfo.

В выводе top,

  • является ли сводка части памяти не специфичной для процесса, также поступающего из /proc/meminfo?

  • Из каких системных файлов берется информация о памяти для каждого процесса?

Спасибо.

решение1

Вы можете использовать strace, чтобы выяснить, какие файлы использует программа. Например:

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

Затем просто нажмите q, чтобы выйти . Был создан topфайл , который показывает, к каким файлам был осуществлен доступ во время работы.top.logtop

По сути, это касается /proc/<pid>/{stat,statm}PID всех запущенных процессов и следующих файлов ( /proc/и всех удаленных библиотек):

хост ~ # cat top.log | sed 's/.*"\([^"]*\)".*/\1/' | grep -vE '(/proc/|/lib/)' | сортировка | uniq
9375 +++ вышел с 0 +++
/dev/нуль
/etc/ld.so.cache
/etc/ld.so.nohwcap
/etc/ld.so.preload
/etc/местное время
/etc/nsswitch.conf
/etc/пароль
/etc/terminfo
/etc/terminfo/s/screen
/etc/toprc
/lib
/проц
/sys/devices/system/cpu/online
вершина
/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/ru.utf8/LC_MESSAGES/procps-ng.mo
/usr/share/locale/ru.UTF-8/LC_MESSAGES/procps-ng.mo
/usr/share/locale/locale.псевдоним
/usr/share/terminfo
/var/run/utmp
/var/run/utmpx

Связанный контент