[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: в чем измеряется load average?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


> On Oct 11, 2004, at 6:03 PM, Nikita V. Youshchenko wrote:
> >> От себя добавлю, что при отсуствии затыков в дисковой системе la
> >> должен
> >> меньше кол-ва процессоров, если больше то пора думать  оп апргейде.
> >
> > Ну это никакого отношения к действительности не имеет :). А то
> > получится,
> > что никакая машина не в состоянии выполнить два параллельных процесса,
> > занимающих CPU - при этом la будет двойкой :).
>
> хм, немного не понял. имеем 2 процесса типа
> int main ( int argc, char ** argv )
> {
>  while ( 1 );
>  return 0;
> }
> Если мы запускаем таких 2, то имеем la == 2, для того чтобы эти
> процессы исполнялись с максимальной производительностью нужно 2 головы.

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

> > Большой (скажем, >10) la *возможно* (но далеко не обязательно)
> > указывает на
> > наличие проблем с производительностью - в связи с тем, что:
> > - каждый процесс, находящиеся в состоянии D (TASK_UNINTERRUPTIBLE),
> > добавляет единичку к la
> > - процесс, ожидающий свопа, находится в состоянии D,
> > - частый признак нехватки ресурсов - большое количество процессов,
> > ожидающих
> > свопа.
>
> А также большое кол-во ожидающих любого другого IO.

Неправда кстати. Большинство I/O операций переводят процесс в состояние S, 
в котором он не учитывается при подсчёте la.

> Я выше отметил, что 
> затыков по дискам быть не должно, swap это затык по дискам.

Высокой la может быть признаком затыка по дискам, но далеко не всегда 
таковым является.

>
> > Но это далеко не единственный случай, когда la высокий! Например, если
> > запустить в фоне с низким приоритетом (nice -n19) несколько тяжёлых
> > для CPU
> > задач, это [при наличии достаточного объёма физической памяти] мало
> > повлияет на "отзывчивость" системы, но заставит подпрыгнуть la.
>
> Совершенно справедлино, т.к. для каждого из процессов типа while (1)
> нужна своя голова для выполнения, а занижение им приоритета лишь
> повышает отзывчивость системы, но при этом производительности машины
> для выполнения всех ваших процессов не хватает о чем и говорит высокий
> la.

Нет. Высокий la говорит о высоком уровне загрузки системы, и не более того, 
Если на системе должны одновременно работать несколько cpu-intensive 
задач, то *никакой* апгрейд (кроме разве что добавления голов - что 
непрактично) не сможет уменьшить этот la.

Давай оставим пустые циклы за скобкой и предположим, что работают счётные 
задачи. Тогда увеличение тактовой частоты вдвое приведёт в увеличению 
производительности (числу обработанных блоков данных в единицу времени) 
также примерно вдвое. При этом "рабочий la" не изменится.

> Так что не понял, что именно из того что я сказал ранне не имеет
> никакого отношения к жизни.

Попытка поставить знак равенства между высоким la и недостаточной 
аппаратной мощностью системы. Для многих задач высокий la - норма, 
независимо от мощности системы.

Сигналом к необходимости апгрейда может быть "высокий la по неуважительной 
причине".
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFBas8Ev3x5OskTLdsRAvdFAJ0YmoQjg23ZJXuVUWtKs+ghCCOYLQCgvdIS
z91xpfR0rpAZfl/WR/HeUrQ=
=wXYk
-----END PGP SIGNATURE-----

Reply to: