Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.