![top, ps, /proc/pid/statm, /proc/pid/status, /proc/pid/smaps에서 보고된 다양한 프로세스 속성 연결 [닫기]](https://linux55.com/image/21495/top%2C%20ps%2C%20%2Fproc%2Fpid%2Fstatm%2C%20%2Fproc%2Fpid%2Fstatus%2C%20%2Fproc%2Fpid%2Fsmaps%EC%97%90%EC%84%9C%20%EB%B3%B4%EA%B3%A0%EB%90%9C%20%EB%8B%A4%EC%96%91%ED%95%9C%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%20%EC%86%8D%EC%84%B1%20%EC%97%B0%EA%B2%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
내가 찾은 몇 가지 일반적인 속성은 다음과 같습니다.
top(VIRT), smem(VSS), /proc/pid/statm(페이지의 첫 번째 항목), /proc/pid/status(VmSize), ps(VSZ)
top(RES), smem(RSS), /proc/pid/statm(페이지의 두 번째 항목), /proc/pid/status(VmRSS), 모든 Rss 추가: 프로세스 맵의 /proc/pid/smaps 값, 추가 모든 /proc/pid/smaps 프로세스 맵의 Private_.* + Shared_.* 값, ps(RSS)
상단(데이터),보고되지 않은 smem, /proc/pid/statm(페이지의 6번째 항목), /proc/pid/status(VmData),ps는 보고되지 않았습니다
상단 (코드),보고되지 않은 smem, /proc/pid/statm (페이지의 네 번째 항목),/proc/pid/status가 보고되지 않음,ps는 보고되지 않았습니다
탑(SHR),보고되지 않은 smem, /proc/pid/statm (페이지의 세 번째 항목),/proc/pid/status가 보고되지 않음,ps는 보고되지 않았습니다
smem(USS), /proc/pid/smaps 프로세스 맵에 모든 Private_.* 값을 추가합니다.
smem(PSS), /proc/pid/smaps 프로세스 맵에 모든 Pss: 값을 추가합니다.
smem(Swap), /proc/pid/smaps 프로세스 맵에 모든 Swap: 값을 추가합니다.
상단(SWAP) = 상단(VIRT) - 상단(RES)
질문: 위에서 언급한 것처럼 제가 위에서 놓친 다른 관계가 있습니까? 공유할 수 있나요?
답변1
ps, top 및 smem 프로그램은 모두 /proc에서 데이터를 얻습니다. 어쩌면 정확한 세부 정보를 얻기 위해 소스 코드를 보고 싶을 수도 있습니다. 이러한 세부 사항은 수년에 걸쳐 변경되었으며 계속 변경될 수 있습니다.
smem 프로그램은 Python 스크립트입니다. 다음은 smem의 필드 목록입니다.http://selenic.com/repo/smem/file/43b299004079/smem#l271
Linux는 procps 패키지에서 top과 ps를 가져옵니다. 상단의 필드 목록은 다음과 같습니다.http://procps.cvs.sourceforge.net/viewvc/procps/procps/top.c?revision=1.134&view=markup#l1223
ps의 필드 목록은 다음과 같습니다.http://procps.cvs.sourceforge.net/viewvc/procps/procps/ps/output.c?revision=1.65&view=markup#l1286