Только выходное значение, если x> y в awk

ВХОД:

0:root@server:/root # vmstat 60 2 System configuration: lcpu=52 mem=131072MB ent=10.00 kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------------------- rb avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 5 0 13254063 12378057 0 0 0 0 0 0 3411 22516 9063 10 2 88 0 1.94 19.4 5 0 13341251 12290955 0 0 0 0 0 0 3507 20192 9062 9 2 89 0 1.88 18.8 0:root@server:/root # 

НЕОБХОДИМЫЙ ВЫХОД:

 0 

Оно равно нулю, так как среднее r <lcpu. Значения «id» в этом случае не важны.

другой INPUT:

 0:root@server:/root # vmstat 60 2 System configuration: lcpu=52 mem=131072MB ent=10.00 kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------------------- rb avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 52 0 13254063 12378057 0 0 0 0 0 0 3411 22516 9063 10 2 6 0 1.94 19.4 53 0 13341251 12290955 0 0 0 0 0 0 3507 20192 9062 9 2 4 0 1.88 18.8 0:root@server:/root # 

НЕОБХОДИМЫЙ ВЫХОД:

 95 

Это 95, потому что среднее r> lcpu. И это 95, потому что id означает простоя, но нам нужно потребление процессора. Таким образом, 6 + 4 – это значение простоя, среднее из них равно 5. Таким образом, 100-5 = 95% – это загрузка процессора.

Среднее значение необходимо и в «r»! Не только в «id». В последнем примере это 52,5, поэтому было больше 52.

Это общая проблема UNIX для измерения потребления ЦП. Если r> lcpu и использование cpu% очень велико, то у нас есть узкое место процессора.

Интересно, что нет решения для обработки вывода vmstat, поэтому я прошу об этом гроссмейстерам awk.

Вопрос : Мне нужно что-то вроде этого: «vmstat 60 2 | GODLY-AWK-MAGIC-HERE»

Для получения дополнительной информации см. (Я не мог найти лучшую ссылку):

http://aix4admins.blogspot.com/2011/09/vmstat-t-5-3-shows-3-statistics-in-5.html

Если выполняемые потоки (r), деленные на количество CPU, больше одного -> возможное узкое место процессора

  • Вычислить сумму каждой пары чисел в столбцах в linux
  • Как заменить поля из файла_А полями из файла_B
  • Печать строк с нечетными номерами, печать строк с четными номерами
  • Почему awk выполняет полную буферизацию при чтении из трубы
  • Как дублировать файл несколько раз при встраивании индекса в каждый файл
  • удалить пустые строки в awk-дисплее
  • Я пытаюсь найти файлы и печатать ТОЛЬКО размер этих файлов
  • Как grep / awk / sed для текста в журнале и отображать кусок с текстом?
  • One Solution collect form web for “Только выходное значение, если x> y в awk”

    Очень сырой:

     awk ' BEGIN { d = -1 } /lcpu/ { lcpu = substr($3, 6); next } $1 == "r" { ++d; next } d < 0 { next } { ++d r += $1 id += $16 next } END { if (r / d > lcpu) print 100 - id / d else print 0 } ' 

    или если вам нравится:

     awk ' /lcpu/ { lcpu=substr($3, 6) } $1 ~ /[0-9]+/ { ++d r += $1 id += $16 next } END { print (r/d>lcpu) ? 100 - id / d : 0 } ' 

    чтобы:

     awk '/lcpu/{lcpu=substr($3,6)}$1~/[0-9]+/{++d;r+=$1;id+=$16;next;}END{print(r/d>lcpu)?100-id/d:0}' 

    Получает ли он результаты, которые вы хотите?

    Interesting Posts

    Как исправить Debian, который отказывается подключиться к Интернету в VirtualBox?

    XRandR отображает область отображения в некоторых конфигурациях с несколькими мониторами

    ftp и shebang

    Как я могу ограничить количество ядер процессора, которые пользователь может использовать в любой момент в Linux?

    одномерный массив в оболочке, не работающий для индексов больше 08

    Как я могу запустить keychain таким образом, чтобы только первая подсказка командной строки для ключей при запуске?

    Настройка параметров инициализации пакета пакета opendkim Debian при наличии сценариев init.d и systemctl

    Добавьте '.0' в целые числа с одной цифрой

    Как dd или cp весь диск на удаленном компьютере Debian на локальную машину?

    Греп все сразу

    Как я могу fsck раздел, когда устройство читает как занятое (но было подтверждено иначе)?

    Каковы преимущества создания инструментов / libs из исходного кода?

    Почему gedit нужен libbluray?

    Как устранить то, что ест память?

    Когда была изобретена концепция удаленных репозиториев?

    Linux и Unix - лучшая ОС в мире.