Если я прав, вывод free
получается в результате чтения /proc/meminfo
.
В выводе top
,
является ли сводка части памяти не специфичной для процесса, также поступающего из
/proc/meminfo
?Из каких системных файлов берется информация о памяти для каждого процесса?
Спасибо.
решение1
Вы можете использовать strace
, чтобы выяснить, какие файлы использует программа. Например:
strace -f -o top.log -e trace=file top
Затем просто нажмите q
, чтобы выйти . Был создан top
файл , который показывает, к каким файлам был осуществлен доступ во время работы.top.log
top
По сути, это касается /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