Я пытаюсь понять некоторые данные, которые были извлечены из SAR. У меня есть три основных вопроса по этому поводу. В конечном счете, я хотел бы определить, сколько процессоров простаивают в каждом интервале выборки на кластере серверов.
- Многие из процессоров не отображаются в каждой записи. Это ожидается и что именно это означает? Это связано с № 2?
- Есть неиспользуемые линии (CPU = U). В документации сказано: «U указывает на неиспользуемую емкость всей системы». Я не могу найти точное определение «неиспользуемой емкости всей системы» или вообще никакого определения. Я не уверен, как интерпретировать строку, которая говорит что-то вроде «неиспользованная емкость была на 70% простаивала».
- Наконец, я не уверен, как рассчитывается строка
-
илиall
. Я думаю, что это среднее значение для всех процессоров, но когда я делаю математику для всех процессоров, я получаю совершенно иной ответ, чем то, что находится в этой строке. Может кто-нибудь сказать мне точно, что входит в этот расчет? Если внимательно присмотреться к этому связанному вопросу о SAR, то выясняется, чтоsystem-wide
процент простоя представляет собой сумму произведений процента простоя каждого ЦП и значения «Physc». К сожалению, у меня нет значенияphysc
or entc% (при условии, что оно есть), поэтому я не могу проверить это своими собственными данными. Если это правильно, значит ли это, что мне нужныphysc
значения, чтобы по-настоящему понять процент простоя?
Вот несколько примеров того, что я вижу. Это все из одного дня.
CPU | Idle CPU | Idle CPU | Idle
---------- ---------- ----------
0 | 8 0 | 15 0 | 17
1 | 25 1 | 94 1 | 32
2 | 79 2 | 100 2 | 97
3 | 62 3 | 99 3 | 71
4 | 5 4 | 13 4 | 5
5 | 7 5 | 13 5 | 23
6 | 6 6 | 99 6 | 71
7 | 7 7 | 44 7 | 98
8 | 11 8 | 12 8 | 48
9 | 17 12 | 0 12 | 38
10 | 33 16 | 12 16 | 37
11 | 64 20 | 3 20 | 42
12 | 6 U | 95 U | 97
13 | 6 - | 15 - | 85
14 | 6
15 | 6
16 | 12
17 | 15
18 | 62
19 | 69
20 | 7
21 | 7
22 | 6
23 | 7
U | 80
- | 15
case 1: avg(24): 22
case 2: avg(12): 42
case 3: avg(12): 48
Эти данные создаются скриптом, который запускается: sar -P ALL 1 1
затем запускается команда awk. Я плохо разбираюсь в awk, но это важные части:
Фильтр: /System|AIX|^$|%/ {next}
Разбираем: {k=0;if(NR==7) k=1} {sub("^-", "all", $1); cpu=$(1+k); user=$(2+k); sys=$(3+k); io=$(4+k); idle=$(5+k)}
Это кажется правильным, основываясь на том, что я мало понимаю о awk и что я вижу из примеров вывода.
Если я предполагаю, что все пропущенные значения равны нулю для случая 2, среднее значение равно 21, что кажется несколько соответствующим случаю 1. Однако, если я сделаю это предположение для случая 3, я получу 24%, что полностью расходится с 85% процентное значение, данное sar для общего простоя процессора.
Вот график снимков за полный день (каждые 30 секунд):
Когда очень мало «общесистемного» времени простоя, корреляция между средним временем простоя процессора и «общесистемным» временем простоя почти идеальна. Но по мере того, как увеличивается время простоя системы, корреляция становится намного слабее. Работая в предположении, что это детерминированные машины, это говорит мне о том, что имеющиеся у меня данные не дают полной картины. Но насколько я забочусь?
Я не совсем понимаю, почему некоторые процессоры не сообщаются в каждой точке, но те, которые отсутствуют, распределяются неравномерно, как видно из приведенных выше примеров. Также, прочитав эту книгу , я понял , что это должны быть логические процессоры, и что без physc
цифр я думаю, что я мало что могу сделать с этими значениями. Я пытался использовать U
значение в различных уравнениях, но я не нашел ничего разумного. Мне даже не ясно, что общий процент простоя может быть принят за чистую монету.
ПРИМЕЧАНИЕ : что-то не так с получением этих данных от sar - полностью верный ответ для # 1, если это так, он всегда должен возвращаться.
sar -P ALL 1 1
а затем использует awk для определения номера процессора, а затем проценты пользователя, системы, IO-wait и idle. Я добавлю больше информации к вашему ответу.
sar -P ALL
напрямую, а не вывод этого скрипта? Это нестандартный сценарий, и никто не может сказать вам, что он делает, не видя его.
sar -P ALL
вывод.