특정 하드웨어에서 사용할 수있는 최대 RAM 용량은 얼마입니까?


26

i5-2430M CPU 가 장착 된 Asus U31SD 노트북이 있습니다. 아수스 사이트에 따르면 최대 RAM은 8GB이지만 인텔의 CPU는 16GB를 지원한다고합니다. Ubuntu에서이 시스템에 사용할 수있는 최대 RAM은 얼마입니까?


3
모든 사람의 말을 요약하면, 마더 보드의 한계로 인해 노트북은 8GB의 RAM 만 사용할 수 있습니다. 다음 질문을 통해이를 확인할 수 있습니다. askubuntu.com/questions/140322/…
reverendj1

모두에게, 메모리 생산 회사 인 "corsair"는 시스템이 사용할 수있는 최대 RAM 용량을 일반적으로 알려줄 수있는 메모리 로케이터를 가지고 있음을 지적하고 싶습니다. 온라인으로 검색하여 모델 시스템에 대한 기술 자료를 읽을 수 있습니다. 사용 가능한 최대 RAM을 알려줍니다.
토마스 워드

@The Lord of Time : 어떤 링크?
0xC0000022L

해당 질문에 언급 된 시스템의 Corsair Memory Finder / Configurator : www2.corsair.com/configurator/… || Corsair Memory Finder (시작 페이지) : corsair.com/us/learn_n_explore (제품을 광고하지만 최대 메모리에 대한 반 정확한 사양을 찾는 일반적인 기반으로 사용할 수 있습니다.
Thomas Ward

답변:


29

한계는 실제로 하드웨어 (마더 보드 메모리 지원 및 슬롯 수)와 Ubuntu 버전 (32 비트, 32 비트 + PAE, x32ABI, 64 비트) 사이입니다.

최대 4GB를 지원하는 마더 보드를 사용하는 경우 하드웨어 제한이 4GB이므로 32 비트, 32 비트 PAE 또는 64 비트를 사용하더라도 중요하지 않습니다.

그러나 더 많은 양의 메모리를 지원하는 마더 보드를 구입하면 다음과 같은 최대 지원 메모리를 가진 Ubuntu 버전을 사용할 수 있습니다.

우분투 32 비트 -4GB RAM

우분투 32 비트 + PAE (실제 주소 확장) -64GB RAM

Ubuntu x32ABI -4GB RAM (64 비트 하드웨어에서 실행되는 64 비트 향상으로 수정 된 32 비트 아키텍처 용입니다. 아직 사용할 수 없습니다.)

우분투 64 비트 -많이! (실제로 2 ^ 64) 하드웨어 제한 및 실제 컴퓨터로 인해 제한은 약 1TB (1024GB RAM)입니다.

따라서 4GB 이상의 RAM을 사용하는 경우 메모리 제한에 대한 질문을 사용해야합니다. 이 경우 실제로 큰 메모리 크기를 지원하는 32 비트 PAE 또는 64 비트가 필요합니다.

또한 지금 예를 들어 4GB가 있고 16GB 램을 구입하는 경우 Ubuntu를 다시 설치하거나 변경할 필요가 없습니다. 추억을 바꾸면 우분투는 그것들을 읽고 즉시 사용할 수 있습니다. 구성이 필요하지 않습니다. 4GB RAM의 32 비트가 있고 16GB 또는 RAM을 설치하면 Ubuntu가 자동으로 32 비트에서 32 비트 PAE로 변경됩니다. 올해 초 4GB에서 16GB로 옮겼 기 때문에이를 보증 할 수 있습니다.

다음은 32/64의 메모리에 대한 Ubuntu에 대한 아주 좋은 설명에 대한 링크입니다. https://help.ubuntu.com/community/32bit_and_64bit#Memory

업데이트 -일부 마더 보드에는 지원되는 최대 메모리를 활성화, 수정 또는 향상시키는 BIOS 업데이트가 있음을 추가하지 않았습니다. 예를 들어, 과거 일부 인텔 마더 보드는 지원되는 최대 값으로 작동하는 데 문제가있었습니다. BIOS 업데이트로이 문제가 해결되었습니다. 다른 마더 보드는 BIOS 문제로 인해 4GB를 지원했으며 업그레이드 후 4GB 이상을 지원했습니다.

또한 CPU와 마더 보드에 대해 지원되는 최대 메모리를 비교할 때 최대 값은 최소값입니다. 예를 들어 :

CASE 1
CPU 최대 지원 메모리 -16GB
마더 보드 최대 지원 메모리 -8GB
최대 지원 메모리 -8GB (CPU와 마더 보드 사이의 값이 가장 낮으므로)

CASE 2
CPU 최대 지원 메모리 -16GB
마더 보드 최대 지원 메모리 -32GB
최대 지원 메모리 -16GB (CPU와 마더 보드 사이의 값이 가장 낮으므로)

CASE 3
CPU 최대 지원 메모리 -16GB
마더 보드 최대 지원 메모리 -64GB
최대 지원 메모리 -16GB (CPU와 마더 보드 사이의 값이 가장 낮으므로)

이 메모리 제한이 CPU와 관련이있는 이유는 인텔이 최신 코어 CPU를 사용하여 기술적으로 수정했기 때문입니다.

따라서 8GB를 지원하는 마더 보드와 16GB를 지원하는 CPU가 있습니다. 즉, 마더 보드의 슬롯 수에 따라 사용할 수있는 최대 크기는 8GB입니다. 해당 Asus에는 2 개의 슬롯이 있습니다. 즉, 최대 8GB를 완료하기 위해 2 개의 4GB RAM을 가질 수 있습니다.

x32abi에 대한 추가 정보 :

커널 초보자-http : //kernelnewbies.org/Linux_3.4#head-039c9d273884c9639937c10d68b4a3214869eb4b

LWN - https : //lwn.net/Articles/456731/ (메모리 제한에 대한 설명을 쉽게 읽을 수 있도록 주석 읽기 권장)

Google - http : //sites.google.com/site/x32abi/

마지막으로 Ubuntu 12.04부터 모든 32 비트 버전의 Ubuntu에는 기본적으로 PAE가 활성화되어 있으므로 모든 32 비트는 최대 64GB의 RAM을 지원합니다. 12.04+를 사용 중이고 사용할 아키텍처를 알고 싶은 경우 몇 가지 권장 사항을 따르는 한 이러한 아키텍처 중 하나를 사용할 수 있음을 알게되었습니다.

  • RAM이 512MB 이하인 경우 32 비트를 사용하는 것이 좋습니다.

  • RAM이 4GB 미만이지만 512MB 이상인 경우 32 비트를 사용하는 것이 좋습니다 (하지만 여전히 64 비트를 사용할 수 있음)

  • 4GB의 RAM이있는 경우 32 비트를 사용하는 것이 좋습니다 (하지만 여전히 64 비트를 사용할 수 있습니다)

  • 4GB 또는 RAM과 64GB의 RAM이있는 경우 32 비트 또는 64 비트를 사용할 수 있지만 64 비트를 사용하는 것이 좋습니다.

  • 64GB 이상의 RAM이 있으면 64 비트를 사용해야합니다.


Luis x32의 4GB 제한에 대해 확신하십니까? 슬프다. x32가 4GB 이상을 지원하는 기사 (독일 잡지)를 읽었습니다. 또한 PAE는 어떻습니까?
turbo

@ turbo-그것은 찾기에 시간이 걸렸던 아주 좋은 질문입니다. "x32abi 란 무엇입니까?"에 대한 설명의이 부분 때문에 4GB로 응답합니다. X32 ABI는 32 비트 포인터를 사용하여 64 비트 모드로 프로그램을 실행할 수 있습니다. 32 비트 포인터와 함께 작동하므로 실제로 작업하는 데 사용할 수있는 최대 메모리는 4GB입니다. 물론, 나는 x32abi PAE 모드가 있는지 모르겠지만 32 비트 프로그램을 실행하여 작업에 두 배의 램을 사용하지 않고 64 비트의 이점을 가져 오는 방법이기 때문에 32 비트로 제한되어 있다고 결론지었습니다. 4GB의 램.
Luis Alvarado

1
실제로 64 비트에 대한 제한은 2 ^ 48 바이트이며 x32는 x32 프로세스 에 대해 프로세스 당 4GB로 제한 됩니다. x32는 64 비트 커널을 실행하므로 전체 64 비트 프로그램을 실행할 수 있지만 x32는 32 비트 만 사용하도록 대부분의 프로그램을 빌드합니다.
psusi

6

32 비트의 경우 이론적 제한은 2 ^ 32 = 4096MB이지만 PAE (Physical Address Extension)의 Ubuntu 12.04에서 기본적으로 2 ^ 36 = 64GB로 설정되어 있습니다.

64 비트의 경우 이론적으로 2 ^ 64 = 16777216TB (그렇습니다. 테라 바이트) 여야합니다. 실제로 RAM의 양은 256TB의 RAM으로 2 ^ 48로 제한됩니다.

이론적 인 한계는 일반 랩톱에서는 실제로 도달 할 수 없기 때문에 실제 한계는 노트북의 메모리 슬롯 (일반적으로 1-2)과 칩셋의 지원입니다. 8GB 모듈에 대해 심각한 비용을 지불하려는 경우 8-16GB가 현실적입니다.


따라서 2x 8gb 모듈을 안전하게 구매하고 작동 할 것으로 기대할 수 있습니까? (저는 현재 8 기가 바이트 램으로, 64 비트를 실행 해요)
있으며 crond

P ... Intel HM65 Express 칩이 장착 된 다른 노트북은 16GB (Asus G74SX-TZ293V)를 지원합니다.
터보

6

U31SD에 추가로 8GB를 추가로 구입하여 총 12GB를 구매했습니다. 8GB가 한계라고 말하는 Asus 사양 페이지에도 불구하고 이것은 잘 작동합니다. memtest86을 통과했으며 64 비트 우분투에서 볼 수 있습니다.

최신 BIOS 업데이트가 설치되어 있지만 차이가 있는지 확실하지 않습니다.

참고로,의 출력은을 sudo dmidecode -t 16나타냅니다 Maximum Capacity: 16 GB.


1

CPU가 아닌 마더 보드의 제한 사항입니다. CPU는 최대 16GB를 지원할 수 있지만 마더 보드가 8GB 만 사용할 수있는 경우 제한이됩니다.

우분투에서 32 비트를 실행하는 경우 제한은 4GB이고 64 비트를 실행하는 경우 훨씬 높습니다 (어떻게 기억할 수는 없지만 16GB 이상입니다.

그러나 당신은 항상 당신의 하드웨어에 의해 제한됩니다. 항상 마더 보드 한계와 CPU 한계를 비교하고 PC 한계로 가장 낮은 값을 가져와야합니다.


0

특정한 경우, 8GB는 마더 보드가 해당 RAM을 초과하여 지원하지 않기 때문입니다.

그러나 우분투 자체는 32 비트의 경우 최대 4GB, 32 비트 PAE의 경우 64GB 및 64 비트의 경우 128GB를 지원합니다 (이론적으로 64 비트의 경우 캡이 훨씬 높습니다).


0

포인터의 크기를 결정하는 많은 질문이있었습니다. 기본적으로 이것은 프로세서 아키텍처라고 말할 수 있습니다.

x86 -> 4 bytes pointer -> can address 4,294,967,296 locations = 4GB (it is the limit)

x64 -> 8 bytes pointer -> can address 1.84467440737e+19 locations (it is the limit, big, eh)

8GB의 RAM을 처리하려면 8,589,934,592 매핑이 필요하며 크기가 4 바이트 인 포인터는 가능한 모든 값을 처리 할 수 ​​없습니다. 이것이 x86 아키텍처에서 4GB 이상의 RAM을 가질 수없는 이유입니다.

그래도 다른 가능성이 있습니다.

RAM의 양은 아키텍처 (32 또는 64 비트)에 의해 제한되지 않습니다. 아키텍처는 OS와 그 시스템에서 실행되는 프로그램에 의해 한 번에 처리 할 수있는 메모리 양만 결정합니다. 32 비트 시스템, 즉 32 비트 폭 메모리 버스가있는 시스템에서 OS와 프로그램은 4GB의 메모리 만 "볼"수 있습니다. 그렇다고 4GB의 RAM 만있는 것은 아닙니다. 제조업체에서 제공 한 경우 16GB 또는 4x4GB의 RAM이있을 수 있습니다. 이 경우에는 "숨겨진"주소 라인이 2 개 더 있고이 2 개의 라인 레벨을 결정하는 하드 코딩 된 로직이 있으므로 사용 가능한 4GB RAM 중 하나를 선택합니다-00 01 10 11. 이러한 "숨겨진"주소 비트는 소프트웨어 계층에서 사용되지 않으므로 이러한 계층의 경우 4 바이트 포인터 만 사용할 수 있습니다. 이 "숨겨진"수

이것은 하나의 예일뿐입니다. 벤더, 추가 RAM 제공 방법에 따라 다릅니다.

참조 :

일반적인 경우 포인터는 시스템의 메모리 단위보다 많은 주소를 보유 할 수있을만큼 충분히 큽니다. 이것은 충분한 메모리가 설치되지 않았거나 (즉, 사용 가능한 메모리 범위를 초과하여) 아키텍처가 이러한 주소를 지원하지 않기 때문에 프로그램이 메모리 단위가 아닌 주소에 액세스하려고 시도 할 가능성이 있습니다. 첫 번째 경우는 Intel x86 아키텍처와 같은 특정 플랫폼에서 분할 오류 (segfault)라고 할 수 있습니다. 두 번째 경우는 현재 AMD64 구현에서 가능합니다. 여기서 포인터는 64 비트이고 주소는 48 비트로 만 확장됩니다. 여기에서 포인터는 특정 규칙 (정규 주소)을 따라야하므로 비정규 포인터가 역 참조되면 프로세서가 일반 보호 오류를 발생시킵니다.

반면에 일부 시스템에는 주소보다 많은 메모리 단위가 있습니다. 이 경우, 메모리 분할 또는 페이징과 같은보다 복잡한 방식이 다른 시간에 메모리의 다른 부분을 사용하기 위해 사용됩니다. x86 아키텍처의 마지막 구현은 최대 36 비트의 물리적 메모리 주소를 지원하며 PAE 페이징 메커니즘을 통해 32 비트 선형 주소 공간에 매핑되었습니다. 따라서 가능한 총 메모리의 1/16 만 한 번에 액세스 할 수 있습니다. 동일한 컴퓨터 제품군의 또 다른 예로 80286 프로세서의 16 비트 보호 모드가 있습니다.이 메모리 모드는 16MiB의 실제 메모리 만 지원하지만 최대 1GiB의 가상 메모리에 액세스 할 수 있지만 16 비트 주소와 세그먼트의 조합 하나의 데이터 구조에서 64 KiB 이상에 액세스하는 레지스터는 번거 롭다.

일관된 인터페이스를 제공하기 위해 일부 아키텍처는 메모리 매핑 된 I / O를 제공하며, 일부 주소는 메모리 단위를 참조하고 다른 주소는 컴퓨터에서 다른 장치의 장치 레지스터를 참조 할 수 있습니다. 파일 오프셋, 배열 인덱스 및 원격 객체 참조와 같은 유사한 개념이 다른 유형의 객체에 대한 주소와 동일한 목적으로 사용됩니다.

(더 여기 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.