내가 맞다면 의 출력은 을 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/
및 제거된 모든 라이브러리) 에 대한 것으로 보입니다 .
호스트 ~ # 고양이 top.log | sed 's/.*"\([^"]*\)".*/\1/' | grep -vE '(/proc/|/lib/)' | sort | uniq 9375 +++ 0으로 종료 +++ /dev/null /etc/ld.so.cache /etc/ld.so.nohwcap /etc/ld.so.preload /etc/현지시간 /etc/nsswitch.conf /etc/passwd /etc/terminfo /etc/terminfo/s/화면 /etc/toprc /lib /proc /sys/devices/system/cpu/온라인 맨 위 /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/실행/utmp /var/run/utmpx