Среднее число загрузки является вычислением среднего количества процессов, выполнимая очередь ЦП. Наличие высокого среднего числа загрузки не обязательно означает высокое использование ЦП, так как процессы могли ожидать на вводе-выводе. Более высокие должные загрузки требуют, чтобы ЦП сделал больше контекстного переключения.
Ваша проблема - это вторая GREP
:
... | grep "$file_names"
при вызове Ваша функция, пространство между -N
и именем файла ( -N Page1.cshtml
) входит в массив $ file_NAMES
. Затем замена:
file_names=${file_names// /':\|'}:
добавит дополнительный : \ |
в начале строки из-за ведущего пространства. Таким образом, ваша вторая команда GREP
- это на самом деле:
... | grep ":\|page1.cshtml:\|page2.cshtml:\|page3.cshtml:"
в результате GREP
совпадает все линии , поскольку все линии результата будут включать имя файла:
И это соответствует :
.
Итак, простое решение было бы удаление пробелов:
file_names=( "-npage1.cshtml" "-npage2.cshtml" "-npage3.cshtml" )
все должно работать, как ожидалось.