Как сделать так, чтобы команда linux top показала сводку памяти в мегабайтах, а не в килобайтах

15

Redhat EL5

Мой топ сконфигурирован так, как мне нравится показывать сводку по памяти и сводку по свопам в МБ. Мне пришлось закрыть свою оболочку, а затем, когда я снова открыл ее, она снова показывает (по умолчанию?) Килобайт.

Я отыскивал гугл, а верх помогал и управлял страницей. Я не могу найти дисплей в опции MB. Хотя я нашел много других странных вариантов ...

Если кто-нибудь знает, я уверен, буду благодарен.

Благодарность!

Майкл Ирей
источник
Вы уверены, что это был ТОП, а не клон с большим количеством опций? на справочной странице TOP ничего не говорится о том, что он способен отображать данные в удобочитаемой форме.
Prix
Я уверен, что это был топ. Стандартный топ, поставляемый с Redhat Enterprise Linux 5. Props версия 3.2.7
Майкл Айри,

Ответы:

16

Я знаю, что опоздал на это, но думаю, вы использовали:

top -M

со страницы справочника Тома по RHEL 5:

-M : Detect memory units
Show memory units (k/M/G) and display floating point values in the memory summary.
Диего Кортасса
источник
так много для поиска на странице справочника "kilo" и "mega", чтобы попытаться найти эту информацию.
Дэн Притц
6
Том -М не работает для Ubuntu, только для
Centos
ни федора 20
Сиванн
11

В Linux вы можете использовать eключ для изменения масштаба памяти задач, начиная от байтов до петабайт. Когда вы выбрали то, что вам нравится, нажмите W( shift + w), чтобы сохранить изменения в ~/.toprc.

GreenScape
источник
Отличное решение и ответ.
Housemd
3

Позвольте мне усилить и изучить ответ bindbn выше. Источник сверху в пакете PROCPS, линии 3131 и 3134, показывают , что выход будет проходить через scale_num()функции , определенной на линии 761. То , что я прочитал в scale_num()функции говорит , что это будет способствовать точности по красоте. Если доступная недвижимость допускает только чтение человеком, пусть будет так, но по умолчанию она отображается в КБ.

Итак, я думаю, что вы увидели, что вы видели несколько процессов с МБ в их потреблении памяти (резидентном или совместно используемом) и обманули себя, когда открыли его снова. Либо так, либо вы использовали другой инструмент.

Если вас это как-то устраивает, пометьте ответ, а затем отметьте ответ как Ответ, чтобы этот вопрос мог выйти из списка неотвеченных. Благодарю.

Просто для того, чтобы убедить себя, установите исходный RPM-пакет в пакет и посмотрите, не применили ли они какие-либо исправления. Вам, вероятно, придется установить SRPM и посмотреть файл спецификаций, чтобы получить имена всех файлов исправлений, которые они использовали. Узнайте, как создать RPM (удобный навык) и посмотрите на пропатченный источник top.c, если он вообще был пропатчен. Сравните дерево с приведенной выше ссылкой и посмотрите, есть ли разница. Обратите внимание, что пройти через это не может быть тривиальным.

zerolagtime
источник
3

Ввод заглавной буквы «Е» циклически через KiB, MiB, GiB, TiB, PiB и EiB.

Роджер Васконселос
источник
2

Исходная вершина (procps 3.2.8) не может отображать сводку памяти в Мб (я просматриваю исходный код).

bindbn
источник
Я использовал стандартную версию, поставляемую с Redhat Enterprise Linux 5. Честно, как-то я настроил отображение в МБ. Но спасибо за просмотр исходного кода. procps версия 3.2.7
Майкл Ирей
2

"top -M M" - это команда для получения части памяти в мегабайтах. Замените последний M на K для килобайт

"top -n 1 d 2" будет повторяться только один раз

sudhansu
источник