Как стать автором
Обновить

Комментарии 69

НЛО прилетело и опубликовало эту надпись здесь

А как всё это помнить? Я как-то решился, прошел курс для себя по awk и sed, пользовался активно xargs и find. Проходит какое-то время, снова хочу использовать эти утилиты, а вспомнить не получается. Снова лезу в справку, снова изучаю, снова пишу нужный скрипт, снова проходит несколько месяцев — всё забывается. Еще же у каждой утилиты свой язык регулярных выражений, свой язык подстановки параметров, свой способ экранирования символов. Еще ведь есть и разные версии утилит, синтаксис может незначительно отличаться. И вот не нужно мне каждый день awk использовать, даже каждый месяц использовать не нужно.

НЛО прилетело и опубликовало эту надпись здесь
Вывод: интуитивность и однотипность использования указанных инструментов оставляет желать лучшего…

Ага. Чего только стоит вспомнить как вызвать справку в каждой из них.


tar -> --help, --usage
openssl -> help
awk -> -h, -?
find -> --help

и т.д.

BSD-стиль против SYSV-стиля. Разые утилиты пришли из разного юзерспейса и сохраняют такой формат своих опций исторически, а не для того, чтобы вам было запутаться проще :)

Несомненно, Вы правы. Эти отличия пошли исторически. Но может всё-таки стоит повернуться теперь лицом к пользователю? Я не хочу запоминать 100500 способов вызвать справку ) и добавление новых аргументов, ну, явно, не должно сломать совместимость с уже существующим поведением стандартных приложений.

А потом волей случая заносит в Windows и ты, с заметно большей долей раздражения начинаешь писать /h /d /F /I

главное /? запомнить.

awk, sed, где-то я это видел, я знаю эти буквы, а да — как быстро мигрировать со скриптов awk и sed в perl, не оно случайно? Вообщем после перехода на perl, ни awk, ни sed, ни хargs как-то не нужны стали мне (кроме xargs for find), бывает нужен bash и find (простые вещи надо делать просто, сложные сложно) и ещё всякие grep и модификации их, хотя вот перловка тоже имеет свой find etc, но каждый делает как ему удобнее.
К автору — По поводу htop — очень мне нравится утилита, красява просто, просто top ещё шагать и шагать :) шутка, красоту вырви глаз и разбирайся сам, не оценил, htop можно гибко под себя и на 2-х мониторах поднять screeen-ом 8 окон серверов и там будут графические шкалы для cpu и памяти и прочего, но наверное гораздо интереснее отлавливать цифры top-a и угадывать где оно запущено и что происходит.
Я вот могу понять когда нет возможности поставить админский пакет по безопасности или там дистр так стар что всё, или нет свободных 10Кб в системе, или он что так напряг систему?… Почему нельзя поставить удобное для админа средство? tcpdump тоже под запретом?
Мой друг не сильно изучил топ, а я пишу чтобы написать статью в хабр о топ, а, Вы успели написать про штатную утилиту и как её раскрасить, но почему друга-то не обучили?

По п.4 я могу с ним согласиться. По работе часто приходится работать с разными конфигурациями и правильным методом является использование минимального достаточного набора утилит. Ну, вот реально — ack-grep и ripgrep чем принципиально помогают? Тем более в условиях ограничений (pod kubernetes'а со стандартным alpine и без возможности установить утилиты или ИБшники ничего дополнительного не устанавливают — и в принципе — они правы)

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Спасибо, факт интересный, но вполне логичный, учитывая, что в alpine busybox и саой обрезанный облегченный набор стандартных утилит.
Я уж не говорю о том, что скорее всего top в pod'е будет абсолютно бесполезен и нужно смотреть во внешний мониторинг.

фанатик админ отказалься установить htop и заставляет пользователя изучить top, как его выучил он )… это ли не признак раздутого ЧСВ у админа?

PS как-то давно баловался с top'ом и его настройками цветастости и шорткатами, но забылось сильно быстро ибо htop реально после apt install дает максимум комфорта и информации
У htop есть проблемы с поеданием ресурсов. Он на питоне и очень прожорлив. Разница между top и htop заметна. Был случай когда мне как админу запрещали ставить htop девелоперы.
Он на питоне и очень прожорлив.
Што.
Vecanoi ~ # file /usr/bin/htop
/usr/bin/htop: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, stripped
И правда. Ошибочка вышла. Не знаю почему подумал что питон. Видимо с чем то перепутал.
github.com/hishamhm/htop
А знаете что самое забавное — я тоже думал что htop на питоне. Тоже уже не помню почему.
Думаю, перепутали с iotop. Вот он реально тормозной
Вот уж не знаю, некрофил во мне говорит, что htop жрет на 0.3% больше процессора, чем top. Процессор — Pentium-II 300Mhz.
реалии работы с существующей у заказчика инфраструктурой:
1. не везде htop есть.
2. не везде его можно просто так взять и установить.
а если ещё в top`e нажать m1t
=)
Как всегда в комментариях можно много интересного откопать!
да, так действительно удобнее, а как сделать так чтобы в top поле Command отображалось как в htop

Ps: Ниже в коментах нашел, клавиша «c»

m1tt

Буду занудной — ну и ладно. Как же можно "GNU/Linux" через обратный слэш?! Элементарная грамотность, после которой (уже в заголовке) опасно читать статью.

Спасибо, исправил.
А статью читать безопасно, ручаюсь.
У вас 20 ядер и нужно посмотреть, как распределена нагрузка.
htop покажет. top — не уверен (хотя если кто знает магическую последовательность нажатия буковок и циферок — киньте сюда заклинание)
nmon есть под Linux, но я не уверен, что он тот же самый, что и в AIX.
Если мне не изменят память, магическая комбинация — это цифра 1. Попробуйте?
Всегда меня умиляла логика именования аргументов и хоткеев GNU-утилит.
НЛО прилетело и опубликовало эту надпись здесь
A-a-a-a-a! It's alive! Страшное колдунство работает!
Вот так при помощи нескольких несложных движений можно из буханки хлеба сделать модель htop. Но зачем?
Потому что человек должен обслуживать технику, и ни в коем случае не наоборот.
НЛО прилетело и опубликовало эту надпись здесь

Божественная статья, спасибо! В результате которой, обнаружил долгожданную функцию показа процесса с аргументами, не благодарите, это клавиша "с".

о, спасибо.

За что люблю top, так за отображение подробностей жизни ядер CPU. Большой load average? А почему? Откроешь — а там, например, высокий iowait. И понятно, в какую сторону стоит дальше копать.

А можно мне, неучу, подсказать куда копать в таких случаях? Просто для общего развития, вдруг понадобится :) буду благодарен :)

В htop тоже можно увидеть iowait глазами: F2 — display options — detailed CPU time. Если включить данную галочку, ожидание ввода-вывода будет отображаться серым цветом.
А еще полезно бывает сохранить конфигурационные настройки команды top для текущего пользователя — нажмите W

Так то да, но top не может показать отдельно загрузку всех 54 ядер(ибо не влезают по вертикали), а htop может

И всёж легче поставить htop, чем как на пианино играть по клавиатуре — чтоб получить хотяб что-то более менее удобно-читабельное на экране :)

ИМХО — одинаково htop,top,ps… это инструменты, помогающие решить кейс. Всех программ с параметрами не упомнишь.
А вот чем действительно всегда приходится пользоваться — это apropos и man.
Могу посоветовать почитать/посмотреть Дмитрия Кетофа.
для меня у htop есть одна киллерфича которой нет у top, и это tree view.
man top
/tree
V
Устаревшие в прошлом веке и не развиваются? Тут уже говорили про net-tools (ifconfig, netstat)?

ifconfig — дно. Аргументирую. Этот исполняемый файл лежит в sbin. Следовательно, обычный юзер его не может запустить. А если нужна диагностика? Поэтому утилита ip — прям must.
Другой вопрос, что многие считают, что выхлоп ifconfig более читаемый. Но это спорно.

Обычный пользователь может запустить ifconfig, указав полный путь /sbin/ifconfig
ifconfig — дно. Аргументирую. Этот исполняемый файл лежит в sbin. Следовательно, обычный юзер его не может запустить. А если нужна диагностика?
Што^2
Vecanoi ~ # equery files sys-apps/net-tools | grep bin
/bin
/bin/dnsdomainname
/bin/hostname
/bin/ifconfig
/bin/netstat
/bin/route
/sbin
/sbin/arp
/sbin/ipmaddr
/sbin/iptunnel
/sbin/mii-tool
/sbin/nameif
/sbin/rarp
georg.gaal@HOST:~$ which ifconfig
/sbin/ifconfig
georg.gaal@HOST:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

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

htop для обычного юзера намного более user-friendly, чем тот же top. В принципе, учитывая, что top появился хрен знает когда, это нормально.

P.S. Админа тоже можно понять, это защитная реакция от лишнего хлама в OS. А то юзеры же сначала htop, потом еще что-то, а через год — в системе уже всевозможные утилиты и куча зависимостей.
Сегодня он играет джаз, а завтра он играет джаз! Запретить! Только голый ассемблер, только хардкор. А то так, сегодня он С компилирует, а завтра у него уже микросервисы на JS.
Так же можно посмотреть на atop и glances. Оба умеют писать лог, и потом можно в replay просмотреть, что происходило с системой в определённое время. Glances — вообще монстр, умеет работать в клиент-серверном режиме, есть API, есть Web-UI, кроме инфы о системе умеет собирать информацию с некоторых приложений.

Ну, давайте тогда уж netdata рекламировать — а чо? красива!
https://github.com/netdata/netdata


glances поглядел. Не очень зашло.

Нажимаем X потом нажимаем A потом Z потом снова A и X и A и Z
Сразу вспомнились старые времена, когда на игровых приставках вводили коды, которые перед этим приходилось заучивать наизусть, и даже вспомнился Doom95 со своими iddqd и idkfa
Введи код, и получи бессмертие и все оружие TOPa ))

htop от top отличается удобными палочками в верхнем левом углу, которые показывают загрузку ядер и памяти :)


Реально удобно оценивать изменения нагрузки.

НЛО прилетело и опубликовало эту надпись здесь
Точно так.
Да, но на скриншоте выше именно top. :)
Экзактли.

А теперь вернёмся к исходникам и перечитаем мою прекрасную шутку :)
Сорри, видимо, я сегодня слишком серьезен. :)
А весёлый админ сделал бы своему пользователю алиас для запуска top через „htop”.

А может кто-то поделится красивыми toprc?
Вот для примера мой.


top's Config File (Linux processes with windows)
Id:i, Mode_altscr=0, Mode_irixps=1, Delay_time=0.800, Curwin=0
Def     fieldscur=Ĺ@&*'-068>?ACFML)+,./125BHIJKNOPQRSTUVWXYZ[\]^_`abcdefghij
        winflags=163772, sortindx=18, maxtasks=0, graph_cpus=1, graph_mems=1
        summclr=6, msgsclr=2, headclr=3, taskclr=5
Job     fieldscur=*(-068>?@ACFGĻML)+,./125BHIJKNOPQRSTUVWXYZ[\]^_`abcdefghij
        winflags=193852, sortindx=0, maxtasks=0, graph_cpus=0, graph_mems=0
        summclr=6, msgsclr=6, headclr=7, taskclr=6
Mem     fieldscur=&*'(-0689FGijML)+,./125BHIJKNOPQRSTUVWXYZ[\]^_`abcdefghij
        winflags=193852, sortindx=21, maxtasks=0, graph_cpus=0, graph_mems=0
        summclr=5, msgsclr=5, headclr=4, taskclr=5
Usr     fieldscur=-3468;<=>?@ACFGML)+,./125BHIJKNOPQRSTUVWXYZ[\]^_`abcdefghij
        winflags=193852, sortindx=3, maxtasks=0, graph_cpus=0, graph_mems=0
        summclr=3, msgsclr=3, headclr=2, taskclr=3
Fixed_widest=0, Summ_mscale=0, Task_mscale=0, Zero_suppress=0
Не катит. top не запускается.
top: window entry #1 corrupt, please delete .toprc
Видимо в файле есть спец символы не копируемые…
Сначала подумал, блин пойду-ка я top подучу. А потом вспомнил, что я админ и люблю htop.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.