top -MНасколько мне известно, не работает ни на одном дистрибутиве Fedora, Debian или Ubuntu. Я только что попробовал, и это не в procps-ngпакете, который обеспечивает top. Существует множество реализаций, topпоэтому нужно уделить особое внимание тому, что они используют.
В общем, лучше использовать freeс переключением, чтобы получить объем свободной памяти в Linux.
procps vs. procps-ng
Вы могли заметить, что на CentOS 5 & 6, а также на RHEL 5 & 6 это top -Mработает. Это потому, что эти дистрибутивы поставляются с оригинальной версией procps. Проект был разветвлен, и теперь есть еще один проект procps-ng.
Некоторые подробности о том, почему был форк, со страницы проекта Fedora .
выдержка
Старые (устаревшие) средства procps не имели обновлений в течение нескольких лет, что привело к массовому расщеплению кода, вызванному локальным применением только распространяемых патчей, которые не были объединены в апстрим. Проект стал трудно обслуживаемым, поскольку некоторые из недавно написанных исправлений были несовместимы с источниками, поддерживаемыми другими дистрибьюторами. Подобная несовместимость может быть замечена в поведении приложений и их переключателях командной строки. Это неизбежное обновление можно понять как попытку объединить инструменты procps во всех дистрибутивах Linux.
Итак, чтобы быть ясным, разветвленный проект, procps-ngэто то , что используют Debian, Fedora, Ubuntu и другие дистрибутивы, унаследованный проект, который поддерживает top -M, все еще использует несколько более долгосрочных выпусков, которые не поспевают за последними и самый большой.
ПРИМЕЧАНИЕ. Я скачал последнюю версию procps-ng"procps-ng version 3.3.9.1-14ef", и в нем тоже не было -Mпереключателя.
$ ./top/top -version
procps-ng version 3.3.9.1-14ef
Usage:
lt-top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
свободно
При работе freeс коммутаторами вы можете увидеть наиболее вероятную причину того, почему функция отсутствия блоков отсутствует в procps-ngреализации top.
$ free -m
total used free shared buffers cached
Mem: 7782 6506 1276 0 504 1726
-/+ buffers/cache: 4274 3507
Swap: 7823 1429 6394
[saml@greeneggs ~]$ free -k
total used free shared buffers cached
Mem: 7969492 6663180 1306312 0 516948 1764780
-/+ buffers/cache: 4381452 3588040
Swap: 8011772 1463456 6548316
Округление становится проблематичным, поэтому я считаю, procpsчто реализация позволяет избежать проблемы, не предлагая возможности.
HTOP
Работает нормально, показывая совокупное использование памяти.

сверху
На мой взгляд, лучший инструмент для просмотра памяти.

Nmon
Еще один полезный инструмент nmonдля оценки производительности системы.

top -Mотображения в MB. Если вы хотите только контролировать использование памяти, вы можете использовать, а не использоватьhtop. Не уверен ни в каком другом варианте.