6

Somewhere on the web, I read that 64bit Linux kernels do not have a highmem issue. I did not find any explanation/detail as to how/why it is not an issue. Can somebody explain?

Mat
  • 52,586

1 Answers1

5

From Documentation/vm/highmem.txt:

High memory (highmem) is used when the size of physical memory approaches or exceeds the maximum size of virtual memory. At that point it becomes impossible for the kernel to keep all of the available physical memory mapped at all times. This means the kernel needs to start using temporary mappings of the pieces of physical memory that it wants to access.

For 32bit systems, the maximum size of virtual memory is 232 i.e. 4Gb. That limit is reached pretty fast nowadays, so highmem is a big concern for 32bit systems with a lot of RAM.

For 64bit systems, the theoretical maximum virtual memory size is 264, i.e. 18446744073709551616 bytes (16.8 million terabytes). That is way beyond what you can stuff into a computer today. So highmem is not an issue on 64bit systems.

Mat
  • 52,586