작성
·
31
1
강사님 강의들으면서 메모리에 대해 학습하다가
RSS(Resident Set Size) Memory 개념을 보게 됐는데 강의에서는 내용이 없어서 여쭤봅니다.
RSS 검색해보면, 물리메모리에서 실제사용량이라고 나오는데, 이 개념이 강의에서 free 커맨드에서 설명해주신 used 값과 동일한 값으로 보면되나요?
실제 서버 모니터링시에 RSS Memory 값을 측정하고 관리하나요?
그리고 일반적으로 서버 관리자는 메모리 사용률 측정은 used/total 값으로 확인하는지 궁금합니다.
감사합니다!
답변 1
0
free 명령어의 used 영역은 시스템에서 사용하는 전체 메모리의 양 입니다. 따라서 RSS 영역의 총합과 정확히 같지는 않고, 조금 더 크게 나올 수 있습니다.
아래 명령어를 사용하면 ps 명령의 결과 중 RSS 값(프로세스들이 실제 사용하는 메모리의 총합)을 구할 수 있습니다.
ps aux | awk '{sum += $6} END {print sum}'
이 값을 free -k 명령의 used 값과 비교하면 됩니다. 큰 차이는 없겠지만, 커널이 사용하는 메모리 등 개별 프로세스 외에도 메모리를 사용하는 영역이 있기 때문에 차이가 발생할 수 있습니다.
실제 서버 모니터링에서는 RSS를 직접 측정하고 관리하지 않습니다. 개별 프로세스의 메모리를 모니터링하면 좋겠지만, 서버 부하 증가 등의 이유로 일반적으로는 전체 시스템 메모리를 모니터링하는 방식이 더 유용합니다.
하지만 전체 시스템 메모리가 지속적으로 증가하는 경향(우상향)이 보인다면, 그때는 RSS 모니터링을 통해 어떤 프로세스에서 메모리 사용이 증가하는지를 분석하는 것이 도움이 될 수 있습니다. 😊