htop как человеческий аналог top

Всем привет и всё такое. Может кто-то еще не знаком, но помимо многострадального top есть куда более приятный инструмент, что зовется htop.

cmd

Ставится быстро, легко и просто, а умеет куда больше плюшек, чем top. Во-первых, куда больше всего показывает. Во-вторых, позволяет взаимодействовать с процессами быстро и просто, убивая их, изменяя приоритеты и тп. Ну, а в-третьих, позволяет много чего делать без необходимости ввода команд и прямо в SSH, что для любителей визуальщины самое то. 

Позволю себе процитировать Википедию, т.к рассказывать всё своими словами решительно лень, да и нет большого смысла:

Показывает:

  • Время, прошедшее с момента запуска ОС (англ. uptime);
  • Загруженность ОС (англ. load average);
  • Размеры страниц памяти, размещённых в ОЗУMem»);
  • Размеры страниц памяти, сохранённых в файл или на раздел подкачки («Swp»);
  • Нагруженность всех процессоров («CPU») или каждого процессора/ядра по отдельности.

В отличие от утилиты top:

  • По умолчанию показывает список всех процессов, запущенных в ОС;
  • Позволяет выполнять вертикальную и горизонтальную прокрутку списка процессов (клавиши стрелок);
  • Реализует диалог (клавиша S), позволяющий менять настройки без перезапуска программы, например, выбрать параметры процессов для показа, поменять цветовую схему;
  • Позволяет отправлять сигнал одному или нескольким выбранным процессам без ввода pid (клавиша k) (аналог функционала утилиты kill);
  • Также без ввода pid позволяет:
    • менять приоритет nice процесса для планировщика процессов (клавиши [ и ]) (аналог функционала утилит nice и renice);
  • Выбирать процессоры/ядра, на которых процесс может выполняться (клавиша a) (см. affinity mask[en]) (аналог функционала утилиты taskset из пакета util-linux);
    • менять приоритет операций ввода-вывода для планировщика ввода-вывода (клавиша i) (аналог функционала утилиты ionice);
  • Поддерживает мышь.

Также htop:

  • Позволяет выбирать несколько процессов из списка:
    • клавиша пробел — выделение одного процесса;
    • клавиша C— выделение процесса и всех его дочерних процессов;
    • клавиша — отменить выделение;
  • Позволяет выполнять поиск по pid (клавиши цифр) или по имени процесса (клавиши / и );
  • Позволяет просматривать открытые процессом файлы (клавиша l) (аналог функционала утилиты lsof);
  • Позволяет следить за системными вызовами процесса (клавиша s) (аналог функционала утилиты strace (англ.));
  • Позволяет следить за вызовами процессом библиотечных функций (клавиша s) (аналог функционала утилиты ltrace (англ.));
  • Позволяет просматривать процессы, запущенные от имени одного пользователя (клавиша u);
  • Может выводить процессы в виде дерева (клавиша t) (аналог функционала утилиты pstree (англ.));
  • Может показывать потоки процессов пользователя (клавиша H) и потоки ядра (клавиша K);
  • Использует CSI коды для разукрашивания выводимого текста.

Выглядит примерно следующим образом:

htop

Что есть гуд, ибо наглядно, есть ветви и всё такое прочее, да и визуально навевает некую ностальгию по былым временам.

Установка под, например, CentOS, базово выглядит так:


yum install -y http://pkgs.repoforge.org/htop/htop-1.0.3-1.el6.rf.x86_64.rpm

Или, если вдруг нет yum, то банально:


cd otp
makedir htop
wget http://pkgs.repoforge.org/htop/htop-1.0.3-1.el6.rf.x86_64.rpm
rpm htop-1.0.3-1.el6.rf.x86_64.rpm

Собственно, как использовать, надеюсь рассказывать не надо.
Рекомендую и всё такое прочее.

Sonikelf's Project's логотип Sonikelf's Project's логотип Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
Денис Борискн

пользуюсь htop давненько и полностью поддерживаю автора =)

WFoxter

А где скачать это чудо не подскажете?

Вадим

sudo apt-get install htop

Sonik

В статье есть варианты установки с загрузкой

Лелнид

Не могу ни на помнить про atop и dstat.
dstat понятен с самого начала.
atop отличается от остальных тем, что например, показывает загрузку сети и диска в процентах.

Sonikelf

Нагрузку сети и диска можно посмотреть штатными методами без лишних установок. Плюс atop пишет просто адовое количество логов.

Rubik

Подскажите, а как скопировать процессы в блокнот пробел — выделить, а скопировать их?

Sonikelf

Смотря в чем работаете.