Как отобразить meminfo в мегабайтах в топе?


186

Иногда не удобно видеть meminfo в килобайтах, когда у вас несколько гигабайт оперативной памяти. В Linux это выглядит так:

сверху, со статистикой памяти все масштабируется до Кб

А вот как это выглядит в Mac OS X:

вверху, со статистикой памяти, масштабируемой до Мб и Гб

Есть ли способ отобразить meminfo в топе Linux в терабайтах, гигабайтах и ​​мегабайтах?


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

Правильно, но во встроенной справке об этом ничего нет. Я только иногда мог найти это на странице
руководства

1
Страница man - это встроенная справка.
Кейси

4
Вы всегда можете использовать free -mили лучше free -hвместо этого.
Terdon

5
Как только вы попали в верхний удар, Eпока он не покажет накопительный объем памяти, который вы ищете, затем нажмите, Wчтобы записать эту конфигурацию на диск.
Тревор Норрис

Ответы:


208

В верхнем регистре ввод заглавной буквы «E» проходит по разным единицам памяти (КиБ, МиБ, ГиБ и т. Д., Которые отличаются от КБ, МБ и ГБ) в общей информации о памяти:

Изображение показывает верхнюю часть общей памяти с GiB как единое целое.

В то время как строчная буква «е» выполняет те же отдельные строки процесса:

Изображение показывает процессы в верхней части, где отображается память в миБ

Из справочной страницы:

2c. MEMORY Usage
    This  portion  consists of two lines which may express values in kibibytes
    (KiB) through exbibytes (EiB) depending on  the  scaling  factor  enforced
    with the 'E' interactive command.

Информация о версии top -version :: procps-ng version 3.3.9
Система: CentOS 7


7
У меня не работает в RHEL
Энтони Ананич

4
Работает в Ubuntu 14.04 ура.
tjjjohnson

работает в fedora 20
сиванн

5
@AnthonyAnanich: у меня работает в RHEL 7.
krlmlr

3
<Машина времени из будущего> Я считаю, что стандартные единицы петабайта крайне неадекватны и бесполезны. Я всегда заканчиваю тем, что нажимаю E хотя бы один раз, чтобы подняться в единицах Exabytes. </ Time
Тревор Бойд Смит

70

Есть опция командной строки, которая делает это:

-M : Detect memory units
            Show memory units (k/M/G) and display floating point values in the
            memory summary.

Так что достаточно запустить top так:

top -M

Если -Mне работает, вы можете нажать, Eкогда уже в топе.

С man top(procps-ng версия 3.3.9):

E: Расширить масштабирование памяти в итоговой области С помощью этой команды вы можете циклически перебирать доступное масштабирование памяти итоговой области, которое варьируется от КиБ (кибибайт или 1024 байта) до EiB (эксбибайт или 1 152 921 504 606 846 976 байт).

Если вы видите знак «+» между отображаемым числом и следующей меткой, это означает, что top был вынужден урезать некоторую часть этого числа. Повышая коэффициент масштабирования, можно избежать такого усечения.

вверху, показывая единицы памяти в «М»


24
+1, но проверил в Ubuntu, его поговорка не работает. Любой способ в Ubuntu?
13:59

Понятия не имею, @richardparker
Энтони Ананич

1
Черт, ты набрал кучу кармы с помощью простого (но хорошего) вопроса с ответами на свой вопрос. Хорошо сделано.
user1717828

4
Это размытие не достаточно размыто, Антонио.
Евгений Сергеев

2
Работает на RHEL 6 (нажатие 'E' не в качестве главного комментария)
Molten Ice

49

Вы также можете использовать htop. Это намного круче, чем top.

Если вы используете Debian или один из его производных, вы можете установить его, используя sudo apt-get install htop.

скриншот htop

Изменить: Вот скриншот с лучшей цветовой схемой:

скриншот htop с лучшими цветами


17
htopвыглядит лучше с белым или черным фоном. Цветовая схема вашего скриншота ниже оптимальной.
Jlliagre

2
@jlliagre Глаз смотрящего.
Джонатан Комар

Добавлен альтернативный скриншот @ macmadness86
июля,

1
Кстати, htop поставляется с другими цветовыми схемами, доступ к которым вы можете получить, перейдя в настройку F2.
Мигель Мота

Я использую alias top='htop --no-color'команду, чтобы набрать top и получить разумную замену top без ужасной цветовой схемы.
Бенджамин

35

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для оценки производительности системы.

   сс нмон


1
top -Mу меня работает в RHEL6
Энтони Ананич

2
@AnthonyAnanich - я исследовал это немного больше. В верхней версии CentOS 5.4 "procps version 3.2.8" есть -Mпереключатель CentOS 5.8, также есть этот переключатель "procps version 3.2.7". Однако Fedora 19 имеет "procps-ng version 3.3.8", которая не поддерживает этот -Mпереключатель.
SLM

@AnthonyAnanich - добавил подробности в мой ответ о procps vs. procps-ng.
SLM

Отличный ответ, спасибо, @slm. Я даже не знаю, какой из трех ответов является лучшим. Не буду награждать никого, я хочу, чтобы другие решали.
Энтони Ананич

@AnthonyAnanich - NP. Вы должны рассмотреть возможность выбора одного, если вы чувствуете, что он отвечает вашему Q 100%. Принятие А является важным, поскольку оно сигнализирует остальному сообществу, проходящему мимо вашего Q, что вы, как ОП, ответили, что А ответили или решили ваши конкретные проблемы. Если другие А выдающиеся, они также получат ультрафиолетовое излучение. Непринятие одного из них - это, по сути, сигнал о том, что вы, как ОП, все еще чувствуете, что ваш вопрос не получил достаточного ответа. Принятый А также позиционируется как 1-й А, когда люди увидят ваш Q в будущем.
SLM

23

Вы можете нажать следующие клавиши:

  • e - Изменить коэффициент масштабирования на итоговом дисплее
  • Shift+ e- Изменить коэффициент масштабирования для задачи
  • Shift+ w- Сохранить текущие настройки

e и shift-e в моей системе, по крайней мере,
наоборот

3
Не знал о Shift+ w, отличный совет, чтобы сохранить мой
конфиг

6

Итак, быстрый ответ: в зависимости от вашего дистрибутива Linux, попробуйте либо:

top -M

ИЛИ, после начала top, введите заглавную E (затем W, чтобы написать конфигурацию).

Один из них должен работать почти для всех (кроме Соляриса, конечно, где вам повезет, если у вас вообще будет топ).

Бонусный совет: каждый раз, когда вы запускаете лучший экземпляр новой установки, набирайте ExyzW, чтобы сохранить цвета и подсветку, а единицы измерения - какое облегчение!


5
Вся эта информация уже была размещена.
Скотт

0

На RHEL7 верхнее смещение + e или CspsLK ON. Вам нужен заглавный алфавит "E".

Вы получите в MiB, Gib, TiB, PiB, EiB. Все это вы можете получить доступ.

А также вы можете использовать команду htop, которая должна быть загружена и установлена ​​в базовой системе rpm.

Спасибо. Сагар Далви

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.