CHAAANY ARCHIVE

proc smaps

2개의 기록을 주제별로 둘러보세요.

리눅스 메모리 분석 순서: RSS 증가부터 smaps·할당 경로까지

RSS 증가, cgroup OOM, latency spike가 함께 보이면 memory leak부터 의심하기 쉽다. 하지만 RSS 하나만으로 원인을 정할 수는 없다. 먼저 관측 범위와 memory pressure를 확인하고, mapping의 backing을 나눈 뒤, application allocation 경로로 내려가야 한다.분석 순서는 다음 다섯 질문으로 정리할 수 있다.증상이 실제인가 → 어떤 memory 종류가 늘었나 → 어느 mapping·cgroup에서 늘었나 → 어떤 code 경로가 만들고 유지하나 → 수정 후 같은 지표가 좋아졌나0단계: host·container·process 범위를 고정한다같은 ‘memory 사용량’이라도 host MemAvailable, cgroup memor..

/proc/PID/smaps 메모리 분석: RSS·PSS·Anonymous를 구분하는 법

프로세스 RSS가 늘었다고 바로 메모리 누수라고 결론 내릴 수는 없다. RSS에는 익명 메모리, 실행 파일과 공유 라이브러리의 파일 매핑, 공유 메모리 등 현재 RAM에 올라온 여러 페이지가 함께 잡힌다.Linux의 /proc//smaps는 이 합계를 가상 메모리 매핑별로 나눠 보여 준다. 원인을 확정하는 도구라기보다, 다음 조사 대상을 좁히는 도구에 가깝다.smaps와 smaps_rollup의 차이pid=1234sudo cat "/proc/$pid/smaps_rollup"sudo less "/proc/$pid/smaps"smaps_rollup: 프로세스 전체의 주요 항목을 합산해 빠르게 본다. 커널에서 제공하는 경우에 사용할 수 있다.smaps: 주소 범위와 권한, 파일 경로를 포함해 매핑 하나씩 본다..

728x90