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
. Не уверен ни в каком другом варианте.