Windows에 4GB RAM 중 약 3.5GB 만 표시되는 이유는 무엇입니까?


90

최근에 컴퓨터의 RAM을 4GB로 업그레이드했습니다. 32 비트 Windows 설치시 3574MB의 메모리 만 표시됩니다. Windows에서 전체 RAM을 사용하도록하려면 어떻게해야합니까?


2
이것은 오늘 아침 superuser.com/questions/27006/
Tom Tom

3
이것은 "투표가 어디에 있습니까?"라고 묻는 또 다른 사람을 만나는 것처럼 일상적으로 보이는 것처럼 2000 표에 의해 증가되어야합니다. Microsoft는 대화 상자에서이를 제거해야합니다. . .
surfasb

2
야, 64 비트 OS가 필요해 진지하게 지금 돈을 저축하십시오. 그런 다음이 질문은 실제로 마더 보드에 넣을 수있는 모든 메모리를 지원하는 시스템이있을 때 문제가됩니다.
Fiasco Labs

1
습기 나 습기가 없는지 시스템 장치 주위를 조심스럽게 느껴보십시오. '메모리 누수'일 수 있습니다.
열한번째 의사

@ala : 커널 메모리 분할 때문에 ... (1Gb는 커널에 의해 할당 됨). 이미 / 3gb 스위치를 사용하고있는 것 같습니다.
user2284570

답변:


71

당신은 할 수 없습니다 :

Dude, 4 기가 바이트의 RAM은 어디에 있습니까?를 참조하십시오 .

메모리와 장치를 32 비트 주소 범위에 맞추려면 사용 가능한 모든 4GB의 주소 공간을 메모리에 할당 할 수있는 것은 아닙니다.
그렇다면 실제로 PC에 4GB의 메모리를 구매하면 어떻게됩니까?
IO에 대한 메모리 맵에 구멍이 있습니다. (이제 전체 주소 공간의 25 %에 불과하지만 여전히 큰 구멍입니다.) 따라서 메모리의 맨 아래 3GB를 사용할 수 있지만 마지막 1GB에 문제가 있습니다.

실질적인 해결책은 64 비트 운영 체제를 설치하는 것입니다. Windows Vista 이상에서는 32 비트 및 64 비트 라이센스 키를 서로 바꿔 사용할 수 있습니다. 64 비트 버전의 운영 체제에 대한 Windows 설치 미디어를 얻을 수있는 경우 원래 라이센스 키를 사용하여 다시 설치할 수 있습니다.


이해가 안됩니다-2 ^ 32 4 기가 바이트가 아닙니까?
Matt

6
Ahh, 신경 쓰지 마라, 실제로 링크 된 기사를 읽으십시오
Matt

알아두면 좋은 점
LiuYan 刘 研

@VonC : 무엇에 대해 ?
user2284570

@ user2284570 true, PAE가 도움을 줄 수 있지만 누가 여전히 WXp에 있습니까? ;)
VonC

8

먼저 Windows XP (32 비트)는 4GB 만 지원합니다. Windows XP에만 적용되는 것은 아닙니다. 대신 32 비트 데스크톱 Windows -PAE가있는 32 비트 Linux 시스템에 적용 되며 많은 32 비트 Windows Server 버전은 링크 된 기사당 4GB 이상을 지원합니다. 32 비트 Windows XP를 사용하는 경우 4GB 이상이 표시되지 않습니다. 그러나 시스템에 실제로 설치된 것보다 사용 가능한 램이 적은 이유가 더 자세했습니다.

에서 3기가바이트 -하지 - 4 기가 바이트 RAM 문제 (마이크로 소프트 MSDN 블로그) :

오래전에 이루어진 아키텍처 결정으로 인해 4GB의 실제 RAM이 설치되어있는 경우 Windows는 실제 4GB의 RAM 중 일부만 설치할 수 있습니다 (설치된 장치, 마더 보드의 칩셋 및 장치에 따라 ~ 2.75GB ~ 3.5GB 범위) BIOS).

이 동작은 "메모리 매핑 된 IO 예약"때문입니다. 이러한 예약은 실제 주소 공간을 오버레이하고 해당 실제 주소를 마스크 처리하여 작업 메모리에 사용할 수 없도록합니다. 이것은 컴퓨터에서 실행되는 OS와 무관합니다.

4GB (32 비트를 통해 액세스 가능한 최고 주소) 미만의 상당한 주소 공간 청크는 시스템 하드웨어에서 사용하도록 예약되어 있습니다.

  • BIOS – ACPI 및 레거시 비디오 지원 포함
  • 브리지 등을 포함한 PCI 버스
  • PCI Express 지원은 그래픽 카드 설치 메모리에 따라 최소 256MB, 최대 768MB를 예약합니다

이것이 의미하는 것은 일반적인 시스템이 OS가 액세스 할 수없는 하드웨어 사용을 위해 예약 된 ~ 256MB와 1GB의 4GB 미만의 1GB 사이의 주소 공간을 볼 수 있음을 의미합니다. 인텔 칩셋 사양은 기본적으로 어떤 주소 범위가 예약되어 있는지 설명하는 데 능숙하며 경우에 따라 1.5GB가 항상 예약되어 Windows에 액세스 할 수 없다고 말합니다.

소스를 확인하면 자세한 정보가 있습니다. 그러나이 지침을 따르면 설치된 8GB 전체를 활용할 수 있습니다 .

개인적인 경험으로 말하면, 이것은 새로운 문제가 아닙니다. 몇 년 전에 Vista가 처음 릴리스되었을 때 4GB의 32 비트 Windows Vista 시스템을 구축했을 때 동일한 문제가 발생했습니다. 이 같은 주제와 관련된 수많은 포럼 게시물이 온라인에있었습니다.

Microsoft KB 929605 – Windows Vista의 시스템 정보 대화 상자에보고 된 시스템 메모리는 4GB의 RAM이 설치된 경우 예상보다 적습니다 .


Microsoft 는 기본 아키텍처가 64 비트 인 경우 Windows XP에서 최대 128GB의 RAM을 지원한다고 설명 합니다 . 답을 업데이트 해 주시겠습니까?
Dan Dascalescu

@SgtOJ : 무엇에 대해 ?
user2284570

1
@SgtOJ : 4GB RAM 제한은 "모든 32 비트 운영 체제"에 적용되지 않습니다. Windows Server 2003과 같이 PAE를 완벽하게 지원하는 32 비트 OS는 4GB 이상의 RAM을 행복하게 사용할 수 있습니다. "32 비트"는 물리적 주소가 아닌 가상 주소 공간을 제한합니다.
Jamie Hanrahan

@JamieHanrahan은 여전히 ​​단일 프로그램이 4GB 이상을 사용할 수 없음을 의미합니다. 그리고 그는 IO 예약 오버 헤드가 OS 독립적이라는 것을 의미한다고 생각합니다.
jiggunjer

@jiggunjer 내가 언급 한 질문이나 대답의 어느 것도 "단일 프로그램"이 무엇을 사용할 수 있는지에 대해 말하거나 암시하지 않았습니다. I / O 예약도 OS와 무관합니다.
Jamie Hanrahan

3

32 비트 Windows XP를 사용하는 경우 불가능합니다. 추가 RAM을 사용할 수있는 충분한 주소 공간이 없기 때문에

가장 좋은 해결책은 4GB 이상의 RAM을 지원하므로 64 비트 버전의 Windows로 업그레이드하는 것입니다.


2^324GiB에 적합한 "주소 공간"입니다. 주소 공간과 실제 메모리를 착각합니다. 최신 Windows 버전의 모든 프로세스 는 가상 주소 공간의 UM / KM 파티션으로 인해 일반적으로 2 GiB 만 사용할 수 있지만 전체 4 GiB 주소 공간을 볼 수 있습니다.
0xC0000022L

@ 0xC0000022L : 여기서 논의되는 문제는 아닙니다.
벤 Voigt

Microsoft에 따르면 대부분의 Windows 7 릴리스 (32 비트 포함)는 최대 192GB의 RAM을 지원합니다. 유일한 요구 사항은 기본 아키텍처가 64 비트 여야한다는 것입니다. 따라서 최상의 솔루션은 XP에서 Windows 7로 업그레이드하는 것입니다. 답변을 업데이트 할 수 있습니까?
Dan Dascalescu

@Shaharyar : 무엇에 대해 ?
user2284570

3

다른 사람들이 말했듯이 불가능합니다.

설명:

각 메모리에는 주소가 있습니다. 운영 체제는 주소 길이를 지정합니다. 이전 운영 체제의 경우 주소 길이는 32 비트이며 2 ^ 32 (4 294 967 296) 주소 만 허용합니다. 이제이 숫자를 보면 운영 체제가 4GB를 지원해야하는 것처럼 보이지만 내부 메모리가있는 다른 모든 하드웨어 (비디오 카드의 비디오 램)도 해당 주소 공간에 매핑됩니다.

1,200,000 개의 6 자리 전화 번호를 배포하려는 것과 같습니다.


RAM과 주소 공간을 섞고 있습니다.
0xC0000022L

@ 0xC0000022L : 아뇨. 그는 실제 주소 공간에 대해 이야기하고 있지만 RAM은 사용 가능하도록 매핑해야합니다.
벤 Voigt

@ BenVoigt : 이것은 어떻습니까?
user2284570

PAE는 모든 커널 코드가 사용되도록 작성되면 좋습니다. 불행히도 많은 커널 코드는 플랫 메모리 모델을 사용하여 물건을 안정적으로 얻을 수없는 타사에서 작성한 드라이버입니다. PAE를 사용하려면 평면 모델 가정을 사용하여 기존 드라이버를 모두 버려야합니다. 그렇기 때문에 Windows 서버는 PAE를 활성화하고 클라이언트는 그렇지 않습니다. steveb의 답변을 참조하십시오.
벤 Voigt

@BenVoigt : 1997 년 이후, 모든 WDM 드라이버가 Windows 2000/2003에 설치 될 수 있기 때문에 메모리가 <4GB 인 것으로 가정하는 드라이버는 드 rare니다.
user2284570

3

기존 마더 보드는 4Gb의 실제 RAM 만 지원했으며, 최신 마더 보드는 훨씬 더 많은 기능을 지원합니다. Intel P4 CPU는 항상 물리적 주소 확장 (PAE)을 사용하여 4Gb 이상을 처리 할 수 ​​있습니다.

Microstoft는 운영 체제의 모든 32 비트 버전 운영 체제의 '클라이언트'버전에서 4Gb 이상의 실제 주소 공간을 지원하지 않기 위해 '마케팅 결정'을했습니다. 여기에는 w2k에서 32 비트 Windows 8까지 포함됩니다 (MS KB를 방문한 경우 페이지에서 32 비트 서버 버전은 32 비트 '엔터프라이즈 에디션'으로 생각하는 최대 128Gb까지 더 많은 것을 지원할 수 있습니다.) 따라서 정확히 동일한 하드웨어에서 '적절한'32 비트 OS (Linux 등)가 항상 모두 액세스 할 수 있습니다 물리적 RAM.

(참고 사항-32 비트 Win7 사용자는이 '어리석은'제한에 빠져있어 Kernal을 해킹하여 전체 물리적 RAM에 액세스 할 수 있습니다. 말할 필요도없이, 이것은 라이센스를 위반하고 실제로 미국에서는 불법입니다 (DCMA )

Windows XP 32 비트는 드라이버 사용을 위해 lo 4Gb 주소 공간의 일부를 '예약'합니다. PAE를 사용하여 4Gb 이상으로 실제 RAM을 '주소'할 수없는 이유는 없지만 Windows XP Pro 당시 많은 OLDER DRIVERS가 그렇게하지 못하고 'BSOD'오류가 발생합니다 (현대 드라이버는 PAE를 사용함) 올 바르고 이론적으로 2Gb 그래픽 카드를 지원하기 위해 총 32MB 이상의 'lo'공간 페이지 ( '창')가 필요한 이유는 없습니다 (2gb는 'hi'공간에 있습니다. 즉 4Gb 이상) 표)

XP SP2에서 MS는 BSOD를 제거하기 위해 드라이버에 대해 '예약 된'주소 공간의 양을 거의 3 배로 늘 렸으며 그 이후로 그랬습니다 (MS는 드라이버를 '디버깅'하고 싶지 않습니다. 대신 OS). ACTUAL 하드웨어는이 '예약 된'공간에 거의 영향을 미치지 않습니다.

따라서 실제 RAM이 4Gb 이상인 경우 XP Pro sp2 +에서 가장 많이 볼 수있는 것은 약 3.25Gb입니다. 나머지는 다양한 RAM 디스크 드라이버를 사용하여 액세스 할 수 있습니다 (물론 MS는 아님). XP Pro에서 '보이지 않는 주소 공간'또는 '높은 4GB 공간'을 사용합니다.) .. '가상 메모리'의 일부로 'missing'.75Gb를 사용하면 시스템 속도가 빨라질 수 있습니다 ...

/ 3G 스위치를 사용하면 32 비트 응용 프로그램이 32 비트 OS에서 최대 3Gb에 액세스 할 수 있습니다 (.exe 헤더에 LargeAddressAware 플래그가 설정된 경우 64 비트 OS에서 최대 4Gb에 액세스 할 수 있음). XP에서는 / USERVA를 지정하고 OS에서 RAM을 '압착'하지 못하게해야합니다.


boot.ini에 / PAE 스위치를 추가하면 Windows XP SP1에서 4GB 이상의 RAM 지원
user2284570

0

완전한 4GB를 사용하려는 경우 유일한 옵션은 64 비트 운영 체제로 업그레이드하는 것입니다.

  • Windox XP 64
  • 윈도우 비스타 64
  • 리눅스
  • Max OS / X (OK, 새 PC가 필요할 수도 있음)

일반적인 Windows XP는 32 비트에 불과하므로 메모리가 최대 3.5gb로 제한됩니다. 이 주제에 대한 자세한 내용은 VonC 게시 링크를 확인하십시오.


32 비트 인 경우 메모리가 최대 3.5Gb로 제한되지 않습니다. 사용 가능한 주소 공간을 먹는 다른 장치이므로 3.75Gb도 가능합니다. -1
MaxVT

그래서 내가 "세부 사항을 보려면 링크를 확인하십시오"라고 말한 것입니다 :-)
FrankS


0

통합 그래픽을 사용하는 경우이를 줄이면 시스템에서 더 많은 시스템 RAM을 처리 할 수 ​​있습니다.

그러나 최상의 솔루션은 x64 OS를 얻는 것입니다.

어쨌든 그렇게 할 이유가 없습니다. 대부분의 프로그램은 x86 에뮬레이션 레이어가있는 XP / Vista / 7과 함께 x64에서 작동합니다. 문제 있는 드라이버 일뿐 입니다.


1
Windows XP Pro x64의 x64 드라이버는 쓰레기이지만 Vista 및 7 x64 드라이버는 한동안 아주 성숙했습니다.
MDMarra

0

여러 구성 요소를 해결하려면 다소 복잡한 질문입니다. 이러한 구성 요소는 다음과 같습니다.

  • 중앙 처리 유닛
  • 메모리 컨트롤러 유닛
  • BIOS / (U) EFI
  • 운영 체제
  • 신청

마지막 항목은 문제와 직접 관련이 없지만 완전성을 기하기 위해 추가했습니다.

간단히 말해서, 위의 모든 구성 요소가 성공하려면 4GB 이상의 메모리를 지원해야합니다.

중앙 처리 유닛

CPU로 시작할 수 있습니다. 그러나 먼저는 CPU가 어떤 마법 능력이없는 것을주의하는 것이 중요하다 사용할 수 있는 메모리를 전혀. 대신 주소 지정 가능 공간 내의 모든 주소에 액세스 할 수 있습니다 . 이제 여기에 물림이 있습니다. 32 비트 CPU는 0 ~ 4GiB 범위의 주소액세스 할 수 있습니다. 그러나이 범위는 사용 가능한 RAM, ROM, SMRAM , 그래픽 주소 다시 매핑 테이블 뿐만 아니라 필요한 모든 메모리 매핑 된 I / O를 수용해야합니다. 이 주소 범위의 상당 부분이 필요할 수 있습니다. 결과적으로 일부 메모리 주소는 이러한 용도 로 섀도 잉 되어 RAM 작업에 사용할 수없는 것이 가능할 수 있습니다. 숨겨진 메모리를 되 찾으려면 CPU 액세스 가능 주소 공간 을 확장해야 합니다 . 32 비트 CPU의 경우 물리적 주소 확장 이 도움이 될 수 있습니다. 최대 64GiB를 처리 할 수 있습니다 . 기본 64 비트 모드에서 작동하는 64 비트 CPU는 기본적으로 액세스 할 수 있습니다.최대 16 EiB는 다소 크며 그러한 트릭이 필요하지 않습니다. 그러나 반면에 64 비트 CPU가 64 비트 주소 지정을 사용하는 것은 비현실적이므로 실제로 주소 버스에 의해 여전히 16 EiB보다 낮은 범위로 제한됩니다.

메모리 컨트롤러 유닛

처음에는 노스 브릿지 에 있었지만 AMD64 프로세서로 시작하는 AMD와 Nehalem 프로세서로 Intel에 의해 프로세서 다이로 옮겨졌습니다. PAE가있는 CPU 가 자체적으로 64GiB에 액세스 할 수 있지만 RAM에 액세스하려면 MCU가 여전히 필요합니다. 간단히 말해 : 특정 주소에 액세스 하는 CPU 는 요청 된 주소가 RAM에있는 경우 PCI 장치, BIOS ROM 플래시 또는 MCU에서 응답을받습니다. 그러나 마케팅 목적으로 인해 MCU (노스 브릿지 또는 CPU)가 64GiB보다 훨씬 적은 주소 공간 을 지원하는 것은 드문 일이 아닙니다 .

BIOS / (U) EFI

BIOS / (U) EFI도 실제로 작동하기 전에 하드웨어를 구성해야합니다. 무엇보다도 그들은 전체 프로세서 주소 지정 가능 공간 을 하드웨어 장치, 버스, RAM 등의 메모리 범위로 매핑 해야합니다. 흥미롭게도 전체 RAM이 여러 조각으로 나뉘어 사용 가능한 여러 비 연속 지점에 매핑 될 수 있습니다. BIOS의 문제점은 개발자가 시스템 내에서 3GiB 이상의 RAM 사용을 기대하지 않을 수 있으며 BIOS가 사용되는 모든 메모리를 올바르게 매핑하지는 않는다는 것입니다. 이것은 아마도 (U) EFI에는 일어나지 않을 것입니다.

운영 체제

운영 체제는 또한 4GiB 이상의 메모리 주소 지정을 지원해야합니다. 보다 구체적으로 PAE를 사용하도록 CPU를 구성해야합니다. 일부 32 비트 OS는 PAE를 완벽하게 사용할 수 있고 4GiB 이상에 액세스 할 수 있으며, 다른 일부는 보안 강화를 위해 PAE를 사용할 수 있지만 최대 메모리에 소프트웨어 제한이 있습니다 (Windows XP가 그 예입니다). 다시 한 번 64 비트 OS는 당연히 그러한 어려움이 없으며 일반적으로 4GiB 이상의 메모리를 지원합니다.

신청

마지막 요점은 다른 세계에서 온 것입니다. 응용 프로그램은 일반적으로 가상 주소 공간 에서 작동 하기 때문에 완전성을 기하기 위해 추가했습니다. 그럼에도 불구하고 응용 프로그램이 더 많은 메모리를 사용할 수 있도록 컴파일하는 동안 몇 가지 추가 단계가 필요합니다. 기본적으로 32 비트 응용 프로그램은 2GiB의 메모리 만 사용할 수 있습니다. OS가이를 지원하고 CPU PAE를 활성화 한 경우 동일한 32 비트 응용 프로그램은 최대 4GiB의 메모리를 처리 할 수 있습니다 . 더 구체적으로 최대 3GiB의 메모리에서 다른 1GiB는 공통 라이브러리 및 OS 커널로 처리 할 수 ​​있지만 쓰기는 불가능합니다 (결국 응용 프로그램 자체가 아닌 OS 아키텍처에 따라 다름). 다시 말하지만 64 비트 응용 프로그램은 기본적으로 4GiB 이상의 메모리 주소 지정을 지원하며 처음에는 이러한 문제가 발생하지 않습니다.

이 모든 것을 원근법으로 표현하기 위해 몇 가지 예를 살펴 보겠습니다.

인텔 ® 82945G 메모리 컨트롤러를 고려하십시오 . 인텔 웹 사이트에 따르면 PAE를 지원하지 않으며 4GB의 RAM으로 제한됩니다. 9 System Address Map데이터 시트의 단락 을 참조하십시오 . 많은 정보가 있습니다. 가장 흥미로운 것은 Figure 9-3. Main Memory Address Range: 그림 9-3.  메인 메모리 주소 범위 및 단락 9.2 Main Memory Address Range (1 MB to TOLUD)이며 다음과 같습니다.

이 주소 범위는 1MB에서 (G) MCH (TOLUD 레지스터에 프로그래밍 된대로)에서 액세스 할 수있는 물리적 메모리의 상단까지 확장됩니다. 이 범위 내의 주소에 대한 모든 액세스는 옵션 TSEG, 옵션 ISA Hole 또는 옵션 IGD 도난 VGA 메모리에 속하지 않는 한 (G) MCH에 의해 주 메모리로 전달됩니다. (G) MCH는 4GB (82945GC / 82945GZ / 82945PL의 경우 2GB)의 최대 주 메모리 주소 디코드 공간을 제공합니다. (G) MCH는 APIC 또는 PCI Express 메모리 공간을 다시 매핑하지 않습니다. 즉, 시스템에 채워진 실제 메모리 양이 4GB (82945GC / 82945GZ / 82945PL의 경우 2GB)에 도달하면 아직 주소를 지정할 수 없어 시스템에서 사용할 수없는 실제 메모리가 있습니다.

PAE를 지원하지 않기 때문에 궁극적으로 PCI와 4GiB를 초과하는 다른 모든 MMIO 를 다시 매핑 할 수 없으므로 일부 메모리가 섀도 잉되고 사용되지 않습니다. 이는 그것이 CPU (36)는 어드레스 비트를 지원하여 사용하는 경우에도 4 지브 상기 메모리 여전히 사용할 수 있다는 것을 의미 하고 4 지브 한계에 가까운 일부 메모리는 사용되지 않을 것이다.

반대로, 이전과 관련된 인텔 ® 82955X 메모리 컨트롤러를 고려 하지만 이전과는 반대로 8GB를 지원하도록 지정되었습니다! 데이터 시트 단락에 2.1 Host Interface Signals따르면 CPU에 36 비트 주소 버스를 사용한다는 것이 좋습니다. 단락 7 System Address Map에는 더 많은 통찰력이 있습니다. Figure 7-1. System Address Ranges우리가 이전에 본 것과 비교해 그림 7-1.  시스템 주소 범위 보면 : 이것은 36 비트 주소 지정이 가능한 CPU와 함께 사용되는 경우 4GiB 이상의 RAM을 사용할 수 있음을 분명히 나타냅니다. 또한 단락에 7 System Address Map다음과 같이 명시되어 MCH supports 64 GB of addressable memory space있습니다. 그러나 사용 가능한 최대 RAM이 8GB로 제한되어 있음이 더 분명해 졌습니다. 이것은 다시 한 번 addressableCPU 섹션에서 전달하려고 할 때 사용할 수 있습니다.

결론적으로, 두 개의 관련 칩셋이 실제로 메모리 처리에 큰 차이가 있음을 알고 싶습니다.

인텔 ® 펜티엄 ® 프로세서 익스트림 에디션 840을 검사 할 수 있습니다. 64 비트 명령어 세트는 지원하지만 PAE는 지원하지 않습니다. 즉, 32 비트 모드에서 실행하는 경우 4GiB 이상의 RAM을 사용할 수 없습니다 (이 가정이 틀렸다면 정정하십시오). 데이터 시트 및 테이블을 확인할 수 Table 4-3. Signal Description있습니다. 이 CPU는 64 비트가 가능하지만 36 비트 폭의 주소 버스로 인해 여전히 제한되어 있으므로 0에서 64GiB까지 액세스 가능한 주소 범위로 제한됩니다 .

이제 최신 CPU를 살펴 보자. 받아 인텔 ® 코어 ™ i7-7700 프로세서 예를 들어. 최대 64GB의 RAM을 지원하는 것이 좋습니다. 이제 데이터 시트를 확인하십시오. 단락 2.3 System Address Map은이 CPU의 주소 지정 가능 범위가 39 비트 주소 버스로 인해 0에서 512GiB 임을 확신합니다 . 64 비트 CPU의 경우 이론적 인 16 EiB 범위와 거리가 멀다는 점에 유의하십시오. 놀랍게도이 CPU는 최대 32GiB의 사용 가능한 RAM (웹 사이트의 64GB와 반대로)을 지원한다는 사실을 더욱 분명히 밝힙니다 . 여기에도 관심있는 이미지가 있습니다 Figure 2-2. System Address Range Example: 그림 2-2.  시스템 주소 범위 예 PCI 장치 등의 메모리 섀도 잉 문제를 잘 설명합니다. 또한 매핑 하여이 문제를 극복하는 방법을 제안합니다CPU 주소 지정 가능 범위 내에서 실제 RAM에서 상위 주소 범위까지의 범위 따라서 숨겨진 메모리를 회수하십시오. 이 다시 매핑은 하드웨어 초기화시 BIOS / (U) EFI에 의해 수행되며 정확하게 위의 글 머리 기호 목록에 BIOS / (U) EFI를 포함 시켰습니다.

인텔 제품을 예로 들어 보았지만 AMD의 경우에도 마찬가지입니다.

이제 운영 체제 관련 방법에 대해 설명하겠습니다. Linux 커널에는 버전 2.3.23부터 전체 PAE 모드 지원이 포함되어 있으며 32 비트 시스템에서 Linux 커널에 4GiB 이상의 메모리를 사용할 수 있습니다. 그러나 일부 하드웨어에서 4GiB 이상의 RAM이있는 시스템에서 32 비트 Linux 커널결정되지 않은 문제를 알고 있어야 합니다 (제 경험상 TLB 슛 다운과 관련이 있습니다). 어쨌든 Wikipedia에는 PAE 지원 에 대한 좋은 정보가 있습니다. 흥미로운 점은 Windows XP가 4GB로 제한되는 반면 Windows Server 2003 Enterprise / Datacenter SP2는 전체 64GB를 사용할 수있는 방법입니다. 다른 데스크탑-서버 Windows 쌍도 마찬가지입니다.

보시다시피 나열된 구성 요소간에 많은 조합이 있으며 경우에 따라 CPU 또는 OS를 교체하면 도움이 될 수 있습니다. 전자는 시스템에 내장되어 있고 시스템에 내장되어 있고 쉽게 수정할 수 없기 때문에 BIOS / (U) EFI 또는 MCU를 다루기가 훨씬 어렵습니다. 후자는 CPU에 내장되어 있거나 보드에 납땜되어 있습니다.


-4

RAM이 얼마 남지 않았으며 컴퓨터에서 언제든지 사용할 수 있기 때문에 3574MB Ram이 표시됩니다. 이 그림은 PC에 사전 설치된 프로그램 및 설정이 사용자의 경우 426mb의 RAM을 사용하기 때문에 컴퓨터에 완전히 액세스 할 수있는 RAM입니다. 내 6GB 64 비트 PC는 5.8GB의 사용 가능한 RAM이 6GB 전체를 차지합니다. 가장 좋은 방법은 PC를 업그레이드하는 것입니다.


3.5GB가 사용 가능한 RAM 인 경우 Windows가 여전히 RAM을 사용 가능한 RAM과 사용 된 RAM으로 나누는 이유는 무엇입니까? 운영 체제입니다. 특히 0.5GB의 메모리를 사용하는 경우 모든 것을 알고 있어야합니다. 설치된 프로그램은 시작될 때까지 RAM을 차지하지 않습니다.
gronostaj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.