64비트 Linux 커널에는 highmem 문제가 없다는 내용을 온라인 어딘가에서 읽었습니다. 이것이 문제가 되지 않는 방법/이유에 대한 설명/세부 정보를 찾지 못했습니다. 누군가 이것을 설명할 수 있나요?
답변1
에서 Documentation/vm/highmem.txt
:
Highmem은 물리적 메모리의 크기가 가상 메모리의 최대 크기에 근접하거나 초과할 때 사용됩니다. 이 시점에서는 커널이 사용 가능한 모든 물리적 메모리의 맵을 항상 유지하는 것이 불가능해집니다. 이는 커널이 액세스하려는 물리적 메모리 세그먼트의 임시 매핑을 사용하여 시작해야 함을 의미합니다.
32비트 시스템의 경우 가상 메모리의 최대 크기는 2 32 또는 4Gb입니다. 이제 이 제한은 매우 빠르게 도달하므로 highmem은 RAM이 많은 32비트 시스템에서 큰 문제입니다.
64비트 시스템의 경우 이론적 최대 가상 메모리 크기는 2 64 이며 , 이는 18446744073709551616바이트(16.8백만 테라바이트). 이는 오늘날의 컴퓨터가 수용할 수 있는 수준을 훨씬 뛰어넘는 것입니다. 따라서 highmem은 64비트 시스템에서는 문제가 되지 않습니다.