Есть ли приложение, которое может показать использование памяти аналогично верхней?

8

Я хотел бы оставить приложение, работающее в моем терминале, которое показывает мне использование памяти, аналогично тому, как topпоказывает процессор и другую информацию, и iotopпоказывает лучших пользователей ввода / вывода.

Топ и йотоп

Такое приложение существует?

PS Я знаю, что top также показывает использование памяти, но я говорю о сортировке по верхнему использованию памяти и не показывает никакой другой информации (аналогично тому, что iotopпроисходит).

RolandiXor
источник
В верхней части нажмите M, и он будет сортировать по использованию памяти. Это то, что вы после?
Попей
Я также немного неясно , какие функции вы хотите / не хотите, но htopэто topальтернативное использование я. Хотя может показаться, что вы ищете меньше, но больше специфических функций, а не больше возможностей?
adempewolff
@adempewolff точно. Например, iotop делает то, что говорит - показывает использование ввода-вывода моих приложений и ничего больше. Я хочу иметь возможность запустить скажем 'memtop` и просто получить использование памяти%. htopэто не то, что я ищу - потому что это показывает другие вещи (включая использование процессора), от которых я уже получаю top. Я имею в виду, мне нравится Htop без сомнения (я использовал это раньше), но это не то, что я ищу в этом случае.
RolandiXor

Ответы:

8

Самое близкое, что я мог найти memtop, это скрипт Python, доступный здесь, в Google Code.

Скриншот: введите описание изображения здесь

Как использовать memtop

  • Это скрипт Python, поэтому просто сделайте a sudo mv memtop-1.0.0.py /usr/bin/memtop.pyи a, chmod +x /path/to/memtop.pyчтобы сделать его исполняемым
  • Период обновления по умолчанию составляет 15 минут; используйте переключатель, -p 1чтобы сделать его 1 минуту и ​​т. д. (не может быть ниже, если вы не измените источник)
  • Используйте -l N, где N - количество процессов, которые вы хотите показать, в зависимости от размера вашего терминала.
  • Используйте -mдля отображения «дополнительной» информации, то есть статистики Swap / Page в нижней части скриншота.

HTOP замаскированный memtop вариант

Если вы не используете htopиное, его довольно легко настроить с помощью опции F2-setup, чтобы он выглядел следующим образом memtop:

введите описание изображения здесь

  • Конфигурация htop хранится в ~/.config/htop/htoprc, так что просто удалите, htoprcчтобы восстановить нормальный htop .
иш
источник
Проект только что перешел на GitHub: github.com/MartinThoma/memtop
Мартин Тома
2

Я не знаю ни одного конкретного приложения для мониторинга того, что вы хотите в режиме реального времени, но я нашел некоторую информацию, которая может быть полезна.

Сначала вот простая команда, чтобы напечатать эту информацию ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS(находится здесь: http://www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/ )

Во-вторых, вот еще немного информации о скриптах, которые делают то же самое:

http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general

а также

http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program

Вы можете написать свой собственный скрипт / программу для удовлетворения ваших потребностей. Вся необходимая информация обновляется в /proc/режиме реального времени, но вам нужно решить две проблемы:

  1. Я сомневаюсь, что есть какой-либо один файл, в котором перечислены все процессы и их использование памяти в режиме реального времени. Вместо этого у каждого процесса есть свои собственные файлы (in /proc/[pid]/), и некоторые из потенциальных файлов для поиска этой информации не читаются человеком - хотя я подозреваю, что statmи statusимеют необходимую информацию, и оба являются читаемыми человеком.
  2. Отображение всей этой информации в режиме реального времени. Я очень мало знаю о сценариях bash или программировании, но для отображения информации в реальном времени вам потребуется использовать что-то вроде множества tailкоманд с конвейером для сортировки / печати только нужной информации для каждого процесса.

Не совсем полный ответ, но, надеюсь, это даст вам некоторые идеи о том, что вы можете попробовать. Удачи!

adempewolff
источник
2

Попробуй watch memstat -wили возможно watch free -m.

belacqua
источник
1

хтоп довольно хорош. Он достаточно легкий (в отличие от gnome-system-monitor. Для меня не имеет смысла, что программа мониторинга системы часто должна быть самой интенсивной).

Нажмите F6, затем используйте клавиши со стрелками или мышь, чтобы переключиться на сортировку по MEM%.

tsbertalan
источник
2
Хотя мне нравится этот ответ и htop (я использовал его раньше), я ищу приложение, которое следует принципу: делать что-то одно и делать это хорошо (например iotop).
RolandiXor