Top이 일부 시스템 파일을 읽나요?

Top이 일부 시스템 파일을 읽나요?

내가 맞다면 의 출력은 을 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

관련 정보