What is low and high memory in Linux ?

Low memory is the memory to which our Linux kernel has direct physical access.

High memory is the memory to which our Linux kernel does not have direct physical access and hence it must be mapped via the virtual memory address space.

On earlier 32-bit systems, we will see low and high memory stats since the memory is mapped via a virtual address.

However on 64-bit platforms, virtual address space is not required and hence all system memory can be accessed as low memory and shown under this column.

a. Check low and m=high memory usage via free command.

[root@ngelinux ~]# free -lm
             total       used       free     shared    buffers     cached
Mem:           498         185        313          0         15         32
Low:           498         185        313
High:            0          0          0
-/+ buffers/cache:         185        313
Swap:         1023          0       1023

b. Another way to view low and high memory is via /proc/meminfo file.

[root@ngelinux ~]# egrep -i 'High|Low' /proc/meminfo
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         510488 kB
LowFree:          301768 kB

Hence it can be concluded that high memory exists in the case when there is high amount of RAM on 32 bit systems and you need virtaul address space to access that physical memory.

And in 64 bit systems, the high memory concept is no more valid as all address space can be accessed directly, hence low memory us enough.

However the concept is very nice and you must be aware of this, as it might be possible on very high end servers, high memory may be introduced in future again with increasing demands.

Leave a Reply

Your email address will not be published.