” 운영체제(OS)에 따라 시스템에서 보이는 메모리 정보가 다르다? “
서버를 주문하고 신청된 서버 스펙과 실제로 할당된 시스템과의 정보가 다름에 궁금증이 생긴다면 본문을 참고하시길 바랍니다.
여기서는 iwinv rCore.Q3 (2Core 8G Memory) 상품을 샘플로하여 작성되었습니다.
서버를 운영체제별로 신청하고 확인해보니 시스템마다 아래처럼 차이가 발생했다.
Ubuntu 22.04LTS : 8140760KB
RockyLinux 9.X : 7869484KB
Windows 2022 Server : 8GB
예약 메모리 확인
이처럼 차이가 나는 원인은 시스템마다 전체메모리를 표기하는 방법과 예약된 메모리 크기 차이 때문이다.
Linux에 경우 부팅메세지를 확인해보면 시스템에서 예약되어진 메모리를 전체로 합산하지 않고 따로 관리하여 계산하고 있다.
Linux (Ubuntu, RockyLinux, CentOS 등)
dmesg(diagnostic message) 로 예약된 메모리 확인가능
# dmesg |egrep -i “bios|reserv”
“전체 메모리에서 예약(reserved) 공간을 제외하고 표기”
– crashkernel에서 예약된 공간
– page 구조를 위해 커널에서 예약된 공간
– 하드웨어 할당을 위해 예약된 공간
세부적인 사용량 확인
예약된 메모리 사용량은 아래 명령어로 확인해보시면 세부적으로 확인가능합니다.
# cat /proc/iomem | tr [a-z] [A-Z] | while IFS=’-: ‘ read AD1 AD2 REST;
do echo “$(( $(echo “obase=10; ibase=16; ( $AD2 – $AD1 ) ” | bc) >> 20))MB for $REST” ;
done | sort -h
Windows
작업관리자 -> 리소스 모니터 열기
Windows에서는 하드웨어 예약 공간 1MB를 제외한 모든 메모리를 실제 메모리로 표기하고 있어 신청한 정보와 차이가 없습니다.
마무리
즉, 운영체제(OS)마다 전체 메모리를 나타내는 방법에서 차이가 있는것이지 실제로 시스템에 부여되는 메모리에 차이는 없습니다.