Команда “верхней части” Linux: Кто мы, sy, ni, идентификатор, wa, привет, СИ и Св. (для использования ЦП)?

Испытайте мультихвост. Это - übergeneralization tail -f. Можно наблюдать несколько файлов в отдельных окнах, выделить строки на основе их содержания, и т.д.

multitail -c /path/to/log

Цвета настраиваются. Если схема цвета по умолчанию не работает на Вас, запишите свое собственное в файле конфигурации. Например, звонить multitail -cS amir_log /path/to/log со следующим ~/.multitailrc:

colorscheme:amir_log
cs_re:green:INFO
cs_re:red:SEVERE

Другое решение, если Вы находитесь на сервере, где это неудобно для установки нестандартных инструментов, состоит в том, чтобы объединиться tail -f с sed или awk для добавления управляющих последовательностей выбора цвета. Это требует tail -f для сбрасывания его стандартного вывода незамедлительно, даже когда его стандартный вывод является каналом я не знаю, делают ли все реализации это.

tail -f /path/to/log | awk '
  /INFO/ {print "\033[32m" $0 "\033[39m"}
  /SEVERE/ {print "\033[31m" $0 "\033[39m"}
'

или с sed

tail -f /path/to/log | sed --unbuffered \
    -e 's/\(.*INFO.*\)/\o033[32m\1\o033[39m/' \
    -e 's/\(.*SEVERE.*\)/\o033[31m\1\o033[39m/'

Если Вашим sed не является GNU sed, замена \o033 литеральным символом ESC и удаляют --unbuffered.

Еще одна возможность состоит в том, чтобы работать tail -f в Emacs окружают буфер и способности к окраске синтаксиса Emacs использования.

203
19.07.2019, 18:30
3 ответа

hi время, проведенное, обрабатывая аппаратные прерывания. Аппаратные прерывания сгенерированы устройствами (сетевые платы, контроллер клавиатуры, внешний таймер, аппаратные датчики...), когда они должны предупредить о чем-то ЦП (данные прибыли, например).

Так как они могут происходить очень часто, и так как они по существу блокируют текущий ЦП, в то время как они работают, обработчики аппаратных прерываний ядра записаны, чтобы быть максимально быстрыми и простыми.

Если долго или сложная обработка должен быть сделан, эти задачи задерживаются с помощью вызова механизма softirqs. Они планируются независимо, может работать на любом ЦП, может даже работать одновременно (ничего подобного не верен для обработчиков аппаратных прерываний).

Часть о твердом IRQs блокирование текущего ЦП и части о softirqs способность работать никуда не точно корректна, могут быть ограничения и некоторые трудно, что IRQs может прервать других.

Как пример, "данные, полученные" аппаратное прерывание от сетевой платы, могли просто хранить информацию "карта ethX, должен быть обслужен" где-нибудь и расписание a softirq. softirq была бы вещь, которая инициировала маршрутизацию действительного пакета.

si представляет время, проведенное в них softirqs.

Хорошее чтение о softirq механизмом (с небольшим количеством истории также) является Matthew Wilcox, я Сделаю Это Позже: Softirqs, Tasklets, Нижние половины, Очереди Задачи, Очереди заданий и Таймеры (PDF, 64k).

st, "время кражи", только релевантно в виртуализированных средах. Это представляет время, когда реальный ЦП не был доступен текущей виртуальной машине — это было "украдено" от этого VM гипервизором (или для выполнения другого VM, или для его собственных потребностей).

Процессорное время бухгалтерский документ от IBM имеет больше информации во время кражи и ЦП, считающего в виртуализированных средах. (Это нацелено на аппаратные средства типа zSeries, но общее представление является тем же для большинства платформ.)

95
27.01.2020, 19:27
  • 1
    . Так, если я соединяю новую аудиосистему, гарнитура и т.д. (какие-либо аппаратные средства в этом отношении), это также вызывает аппаратное прерывание, правильно? –  its_me 17.08.2011, 22:14
  • 2
    Да, это могло быть путем к Вашему звуковому чипсету, чтобы сигнализировать, что "что-то произошло". Но с включением гарнитуры мог бы иметь дело полностью сам звуковой чип (перенаправляющий звуковой вывод от основного к Вашим наушникам, например), таким образом, это не могло бы генерировать прерывание к основному ЦП. Ввод ключа на Вашей клавиатуре генерирует прерывания хотя (от Вашего USB концентрируют устройство, если у Вас есть клавиатура USB).См. также cat /proc/interrupts (человек man proc для документа. о том файле). $rozcietrzewiacz –  Mat 17.08.2011, 22:22
  • us - Время, проведенное в пространстве пользователя
  • sy - Время, проведенное в пространстве ядра
  • ni - Время, проведенное за запущенными пользовательскими процессами (приоритет определяется пользователем)
  • id - Время, проведенное в холостых операциях
  • wa - Время, проведенное в ожидании периферийных устройств ввода-вывода (например, диска)
  • hi - Время, проведенное в обработке аппаратных прерываний. (Всякий раз, когда периферийное устройство требует внимания со стороны центрального процессора, оно буквально тянет линию, чтобы дать сигнал центральному процессору обслужить его)
  • si - Время, затраченное на обработку программных прерываний. (фрагмент кода, вызывающий процедуру прерывания...)
  • st - Время, потраченное на вынужденное ожидание виртуального процессора, пока гипервизор обслуживает другой процессор (украденное у виртуальной машины)
18
27.01.2020, 19:27

Значение «st» можно просто объяснить, используя экземпляр T2.micro EC2 из AWS.

В документации AWS вы можете прочитать, что вы получаете только 10% базовой производительности на каждый VCPU. Это означает, что если у вас есть процесс, который будет потреблять много процессорного времени, значение «st» останется около 90, поскольку вам разрешено использовать только 10% VCPU. Сумма других значений останется около 10.

Таким образом, AWS использует гипервизор, чтобы предоставить вам доступ только к определенному объему вычислительной мощности. Это намеренно замедляет работу, поскольку вы используете экземпляр только низкого уровня.

Я надеюсь, что это немного облегчит понимание.

5
27.01.2020, 19:27

Теги

Похожие вопросы