Команда free выводит информацию об общем числе свободной и использованной памяти, включая swap. Для того, чтобы было понятнее, как трактовать вывод команды, на приведенном ниже рисунке я показал результат исполнения команды free в Dom0 на моем рабочем ноутбуке:

Ключ -m говорит о том, что размер памяти нужно выводить в мегабайтах. Еще один ключ -l позволяет посмотреть сколько памяти использовано в каждой из зон:

[andrey@server1 ~]$ free -l
           total    used     free shared buffers  cached
Mem:       1819648 1807228    12420      0   56504 1257716
Low:        738260  728896     9364
High:      1081388 1078332     3056
-/+ buffers/cache:  493008  1326640
Swap:      2048276       8  2048268

Если бы я отдал эту же команду на установленной 64-разрядной ОС, то в строке, относящейся к ZONE_HIGMEM, я бы увидел 0. Обзор модели памяти Linux можно почитать в статье на IBM developerWorks Россия. Если же вы готовы к “глубокому погружению”, то ничего лучше “Ядро Linux. 3-е издание” Бовет, Чезати на русском языке я не видел.