Memory used 가 RSS 와 free 가 다를 경우
페이지 정보
본문
안녕하세요.
환경 : RHEL6
문제 :
Memory used 가 RSS 와 free 가 다를 경우
free 명령어를 통해 보면 메모리 사용율이 높지만
ps or top 등을 통해 RES or RSS 를 전부 더하기 해보면 얼마 사용하지 않는 것처럼 보이는 경우가 있습니다.
해결 :
이때 범인은 slab memory 일 수도 있습니다. /proc/meminfo & /proc/slabinfo 에서 확인 합니다.
근본원인 :
Slab 은 Kernel 에 의해서 사용되며, 디렉토리 구조나 inode 정보 등이 저장됩니다.예를 들어 ls 를 실행하는 것으로도 증가 됩니다. 다음 명령어를 통해 수동으로 Slab 캐쉬 반환도 가능 합니다만 ,메모리가 필요할 시에 반환 되므로 특별히 문제가 되지는 않을 것입니다. # echo 2 > /proc/sys/vm/drop_caches만약 drop_cache 를 꼭 하고 싶으시다면 가급적 백업 작업, 높은 IO부하 등이 없는 시점에서 반환 작업을 하시기 바랍니다.결과적으로 free 명령어 결과의 cached 와 /proc/meminfo 의 Slab 까지 가용메모리라고 보시면 됩니다.
이와 같은 내용을 반영하여 RHEL 7.1 버전부터 아래와 같이 계산하여 표기됩니다.
Mem: used = MemTotal - MemFree - Buffers - Cached - Slab
환경 : RHEL6
문제 :
Memory used 가 RSS 와 free 가 다를 경우
free 명령어를 통해 보면 메모리 사용율이 높지만
ps or top 등을 통해 RES or RSS 를 전부 더하기 해보면 얼마 사용하지 않는 것처럼 보이는 경우가 있습니다.
해결 :
이때 범인은 slab memory 일 수도 있습니다. /proc/meminfo & /proc/slabinfo 에서 확인 합니다.
근본원인 :
Slab 은 Kernel 에 의해서 사용되며, 디렉토리 구조나 inode 정보 등이 저장됩니다.예를 들어 ls 를 실행하는 것으로도 증가 됩니다. 다음 명령어를 통해 수동으로 Slab 캐쉬 반환도 가능 합니다만 ,메모리가 필요할 시에 반환 되므로 특별히 문제가 되지는 않을 것입니다. # echo 2 > /proc/sys/vm/drop_caches만약 drop_cache 를 꼭 하고 싶으시다면 가급적 백업 작업, 높은 IO부하 등이 없는 시점에서 반환 작업을 하시기 바랍니다.결과적으로 free 명령어 결과의 cached 와 /proc/meminfo 의 Slab 까지 가용메모리라고 보시면 됩니다.
이와 같은 내용을 반영하여 RHEL 7.1 버전부터 아래와 같이 계산하여 표기됩니다.
Mem: used = MemTotal - MemFree - Buffers - Cached - Slab
- 이전글SCSI bus to add or remove 21.01.20
- 다음글파일시스템이 read-only 로 전환 될 경우 21.01.06
댓글목록
등록된 댓글이 없습니다.