64비트 Linux 커널에서는 2개의 2GB 메모리만 사용 가능

64비트 Linux 커널에서는 2개의 2GB 메모리만 사용 가능

방금 Debian Linux(Wheezy)를 64비트 커널 및 사용자 모드 바이너리로 업그레이드하여 PAE 없이 시스템에서 4GB 메모리를 사용하려고 했습니다.

커널과 패키지 교환이 잘 진행되는 것 같지만 예상한 결과를 얻지 못합니다.

mymachine:~# dmesg | grep Memory
[    0.000000] Memory: 2007644k/2062784k available (3494k kernel code, 452k absent,
                       54688k reserved, 3042k data, 476k init)

mymachine:~# uname -m
x86_64

원인은 무엇일까요? 메모리를 더 확장하고 싶은데, 현재 4GB도 못쓰게 된다면 좀 쓸데가 없더라구요 :)

lshw출력에는 메모리가 올바르게 설치되었음을 보여줍니다.

 *-memory
      description: System Memory
      physical id: 29
      slot: System board or motherboard
      size: 4GiB
    *-bank:0
         description: DIMM DDR Synchronous 1333 MHz (0.8 ns)
         product: PartNum0
         vendor: Manufacturer0
         physical id: 0
         serial: SerNum0
         slot: DIMM A1
         size: 2GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)
    *-bank:1
         description: DIMM DDR Synchronous 1333 MHz (0.8 ns)
         product: PartNum1
         vendor: Manufacturer1
         physical id: 1
         serial: SerNum1
         slot: DIMM B1
         size: 2GiB
         width: 64 bits
         clock: 1333MHz (0.8ns)

내 BIOS에서 메모리 재매핑이 활성화되었습니다.

답변1

분명히 마더보드가 2GB만 지원하거나 뭔가 문제가 있는 것 같습니다. BIOS가 커널에 알려 주는 메모리 양을 알아보려면 커널 부팅 메시지의 BIOS e820 섹션을 참조하세요.

답변2

하드웨어 오류일 수도 있습니다. 적어도 이것이 바로 제가 이런 문제를 겪고 있는 이유입니다.

  • 이 하드웨어 오류는 오류로 보고되지 않으며 커널(Ubuntu의 Linux 4.15 x64) 로그에 의심스러운 내용이 없습니다.

  • lshw(및 듀얼 부팅의 Windows)는 설치된 4Gb RAM, 2Gb x 2를 보고합니다.

그러나 free -mWindows의 작업 관리자에는 사용 가능한 RAM이 2Gb만 표시되는 것 외에도 BIOS-e820은 다음도 보고합니다.

BIOS-e820: [mem 0x0000000000100000-0x00000000784cefff] usable

(이것은 2Gb 간격입니다)

하드웨어: 개별적으로 하나씩 삽입하는 경우 첫 번째 DIMM은 2Gb의 총 메모리를 제공하고 다른 DIMM은 0Gb를 제공합니다.

DIMM RAM 접점을 청소하는 것이 해결책입니다 :)

좋은 결말:시스템을 청소하고 다시 연결하면 4GB가 됩니다.

관련 정보