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.