Назад | Перейти на главную страницу

% Использования ЦП

Откуда системный монитор рассчитывает значения использования в%?

Мне нужно получить эти значения в определенный момент, чтобы выполнить элементарную балансировку нагрузки.

Я предполагаю, что он получает свои значения от /proc/loadavg. Значения, которые это дает, являются стандартными значениями средней нагрузки unix и потребуют некоторых усилий, чтобы получить то, что вы ожидаете - использование ЦП в процентах.

Проще говоря, в одноядерной системе средняя загрузка 1.00 будет эквивалентно 100% загрузке ЦП. В четырехъядерной системе 4.00 будет эквивалентно 100% средней нагрузке и т. д.

Чтобы получить мгновенную нагрузку, отметьте первое число четвертого поля /proc/loadavg:

$ cat /proc/loadavg 
0.00 0.00 0.00 1/570 4471

В этом случае значение равно 1. Это означает, что в очереди задач есть один элемент.

Если вы действительно думаете, что вам нужен мгновенное load, то вы можете использовать это значение. Я бы не рекомендовал его, так как он будет очень изменчивым, а также плохим чтением того, что на самом деле происходит с системой. Использование этого значения для балансировки нагрузки может привести к чрезмерному оттоку в вашей системе, что было бы не идеально. Есть причина, по которой нагрузка средний ценности есть - они намного лучше видят то, с чем в настоящее время имеет дело система.