Задача на собеседовании админу
Придумал subj: как стандартными средствами в gnu уних/линух окружении
запустить на параллельное выполнение задачи, чтобы la не превышал какое-либо
значение. Например: есть каталог с тучей больших файлов, всех их надо
зипнуть или гзипнуть, задания можно запускать параллельно,
общий la не должен превышать 2.5.
пс. наверно пятничная задачка :)
запустить на параллельное выполнение задачи, чтобы la не превышал какое-либо
значение. Например: есть каталог с тучей больших файлов, всех их надо
зипнуть или гзипнуть, задания можно запускать параллельно,
общий la не должен превышать 2.5.
пс. наверно пятничная задачка :)
no subject
no subject
no subject
no subject
Если бы все упиралось только в проц - было бы LA=1. Но гзип не на ссд выест все дисковые иопсы и по цепочке тупить начнет всё. И вот как бы в этой ситуации придумать так, чтобы приоритет на иопсы от гзипа автоматически понижался чтобы LA не поднималось выше заданного - это действительно интересная задачка.
Вот только дешевле тупо просто вообще все перевести на ссд.
no subject
просто интересны и альтернативные варианты.
no subject
no subject
В такой ситуации gzip не выест ни IOPS, ни transfer speed. У Gzip никудышный по современным меркам алгоритм, скорость сжатия порядка 20 мб на ядро. Т.е. задача cpu-bound.
Но в условии не сказано, что крутится на машине. На непустой задаче мы вполне сможем упереться в IO, но, как я понимаю, загрузка всего лишь перейдет в графу wa, т.е. принципиально не важно, во что мы уперлись.
Можно попробовать слать гзипам стоп-конт, можно попробовать запустить процессы в cgroup и менять группе cpu.shares, но это linux specific/
no subject
%.log.bz2: %.log; bzip2 -9q $<
all: $(addsuffix .bz2,$(wildcard *.log))
^D
в принципе, можно поставить и ограничение в -j чтобы на старте много
процессора не забирало.
no subject
no subject
задачка из разряда: как передать параллельно кучу файлов с суммарной скоростью не больше 100кб/сек
no subject
no subject
пока не придумал.
no subject