CentOS 5.1(32bit)에서 4G 메모리 지원하기

네이버, 구글에서 검색한 내용 조합한 것입니다.

현재 저희 서버에 적용하여 4G 인식후 사용중입니다.

예전에 centOS 4X 버전에서는 4G를 인식했습니다. 그래서 그전 회사에는 4G사용중 것을

확인했는데 이번에 새로 설치한 서버(centOS 5)에서는 3G밖에 인식을 못하더군요.

– 5버전으로 오면서 바뀌었답니다.

그래도 혹시나 해서 검색해봤더니 CPU가 PAE를 지원하면 4G인식이 가능하다였습니다.

1. /proc 디렉터리에서 cpuinfo 파일에서 해당 cpu가 PAE를 지원해야 한다.

  cat /proc/cpuinfo |grep pae  명령실행후 pae 라는 라인이 보이면 지원하는 cpu

2. 커널 버전 확인(나중에 참고용)

  # uname -r

      2.6.18-53.1.21.el5

3. kernel-PAE 정보확인후 설치

yum info kernel-PAE

Available Packages

Name : kernel-PAE

Summary: The Linux kernel compiled for PAE capable machines.

Description:

This package includes a version of the Linux kernel with support for up to

64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).

The non-PAE kernel can only address up to 4GB of memory.

Install the kernel-PAE package if your machine has more than 4GB of memory.

# yum install kernel-PAE

4. 2번 항목에서 확인한 커널버전 소스로 이동

  cd /usr/src/kernels/2.6.18-53.1.21.el5

  vi .config

 

  항목중에서 CONFIG_HIGHMEM 이 있는지 찾아보고 없다면 아래 라인 입력

  CONFIG_HIGHMEM4G=y

 

5.  grub.conf 설정

  cat /etc/grub.conf

  커널버전뒤에 PAE가 붙은 커널로 부팅되도록 순서가 되어있는지 확인

  default 순서는 0부터 시작해서 아래 설정은 두번째 2.6.18-53.1.21.el5PAE를 실행하는 것입니다.

default=1

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-53.1.21.el5)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-53.1.21.el5 ro root=LABEL=/

        initrd /initrd-2.6.18-53.1.21.el5.img

title CentOS (2.6.18-53.1.21.el5PAE)

    root (hd0,0)

    kernel /vmlinuz-2.6.18-53.1.21.el5PAE ro root=LABEL=/

    initrd /initrd-2.6.18-53.1.21.el5PAE.img

title CentOS (2.6.18-8.el5)

        root (hd0,0)

        kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/

        initrd /initrd-2.6.18-8.el5.img

 

6. 리부팅후 확인

 

Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:  4147056k total,  148424k used,  3998632k free,    8508k buffers