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: