Вернуть имя файлов (в каталоге или списке), содержимое которых содержит определенный шаблон

Ваш вопрос:Как в этом случае рассчитывается средняя нагрузка?

Ответ:эти три цифры представляют собой экспоненциально -затухающие скользящие средние различных временных рядов (1, 5 и 15 минут ). Этот расчет основан на процессах, размещенных в очередях процессоров, а не на реальной загрузке процессора, которую все привыкли видеть в процентах (, как в Windows )

.

Но я думаю, что это не тот ответ, который вы хотите увидеть, чтобы понять, что происходит в вашей системе в текущий момент времени.

Средняя нагрузка отражает «системную» нагрузку, учитывающую загрузку ЦП и ожидание операций ввода-вывода. И это самый распространенный параметр, с которого нужно начинать устранение проблем с производительностью. Используйте разные метрики (загрузку диска )и инструменты (, например. iostat из пакета sysstat )для анализа производительности системы.

И Второй ответ на ваш вопрос:

для расчета использования ЦП

grep 'cpu ' /proc/stat | awk '{usage=100-($5*100)/($2+$3+$4+$5+$6+$7+$8)} END {print usage}'

Смотрите тему и читайте статью .

И я настоятельно рекомендую использовать системы мониторинга (, например. Zabbix с )по

0
15.01.2020, 02:15
2 ответа

Если это список, вы можете прочитать список, если это каталог, вы можете просмотреть файлы.

while read -r file; do
  grep -q PATTERN "$file" && echo "$file contains PATTERN"
done < file.txt 

Вы можете добавить шаблон as may и вызов grep или использовать оператор if.

for file in./*; do
  grep -q PATTERN "$file" && echo "$file contains PATTERN"
done

Вы можете добавить тест, чтобы вы искали только файлы, и добавить больше grep или использовать оператор if внутри цикла. Этот цикл не является рекурсивным, вам нужно использовать подстановку оболочки, например globstar и, возможно, nullglob . Утилита find на самом деле может сделать это быстрее. Конечно, для приведенного выше решения требуется, чтобы вы находились внутри каталога, в котором находятся файлы.

0
28.01.2020, 02:38

Как указал @steeldriver, вариант -lдля grepявляется кратчайшим решением:

grep -l Pattern Directoryвыведет каждый файл, содержащий данный Pattern.

1
28.01.2020, 02:38

Теги

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