Привет ВСЕМ Я делаю: # vzctl exec 555 cat /proc/cpuinfo processor : 0 model name : Pentium II (Deschutes) cpu MHz : 102.720 # cat /proc/cpuinfo processor : 0 model name : Pentium II (Deschutes) cpu MHz : 342.625 У Меня вопрос - если У Меня 2-а 4-ре и т.д процессоров то что будет показываться в cpu MHz Где-то было написано что обычно используется не вся мощь процессора отведённого VPS-ам и потому можно размещать 100 и более VPS-ов - так как не все всегда загружены - тоесть Я прописываю cpuunits столько-то МГц в cpulimit столько+нМгц и поэтому можно нМгц*х получить как минимум лишних МГц.Или Я неправ? Может ли по сумме всех cpulimit быть больше 100% от компьютера? И что может случится если при этом (когда предложено больше ресурсов чем их есть?) Как Я понял на ВПС-е Мгц-ы показываются приписаные в cpulimit
Cpulimits измеряются в процентах от одного CPU. cpulimits=100 эквивалентно 1 CPU, 200 - 2 CPU и т.д. Больше 100% компьютера вам не дадут выставить. CPUUNITS - абстрактная величина, вес VE относительно других VE.
Cpulimits измеряются в процентах от одного CPU. cpulimits=100 эквивалентно 1 CPU, 200 - 2 CPU и т.д. Больше 100% компьютера вам не дадут выставить. CPUUNITS - абстрактная величина, вес VE относительно других VE. # vzcpucheck -v vpsid units ----------------------- 0 1000 555 18518 Current CPU utilization: 19518 Power of the node: 17275 Warning: hardware node is overcommited # vzctl set 555 --cpuunits 18000 --cpulimit 130 --save Setting CPU limit: 130 Setting CPU units: 18000 Все Ок Я не понемаю все равно Вот что в доке: cpuunits - положительное число, определяющее гарантированое минимальное количество времени CPU для ВПС cpulimit - в процентах, время которое нельзя превышать ВПСу Я так понимаю так, например у хостеров с VPS-ами: Создаются VPS-сы с лимитами каждый например на 5% от CPU (тоесть --cpulimit 5) CPU=350Мгц для примера а # vzcpucheck Power of the node: 17275 Тогда например каждому VPS-у дается --cpuunits 100 Теперь создаем 100 VPS-ов Как Себя будет вести система? Не будет справлятся с задачами? Или же хостеры систему делят на части что сумма вместе с основной(hnode)=100%? В общем Я не понимаю Помогите пожалуйста
В общем попытаюсь сформулировать вопрос так: есть ограничений 2-а: --cpuunits & --cpulimit Первое(--cpuunits) ограничение - это максимальное возможное кол-во Мгц в % от CPU Второе(--cpulimit) минимальное гарантированое Итак: # vzcpucheck Power of the node: 17275 Можно ли говорить тогда что: Power of the node: 17275 = хМГц 1Мгц=17275/хМГц [МГц/cpuunits] ? Тоесть например 17275 = 3330МГц 1Мгц=51cpuunits а 33.3МГц = 1% = 169 cpuunits Или Я опять неправилоьно понял? Что будет если --cpuunits для все VPS поставить на 169, а --cpuunits 20 ? И поставить например не 100/20=5, а 10 штук VPS Будет ли это так: Если на всех 10-ти VPS-ах запускается например какое-то тяжёлое приложение и тогда ресурсы процессора приближаются к ->cpuunits? А если поставить 99VPS+огр на Хардваре ноде=169(ну это к примеру)+еще некоторую резервную мощьность cpu затраченую на виртуализацию- некий люфт То тогда если все VPS нагружены - то Они опять таки используют выделеные Им ресурсы? А именно каждый по 1% от CPU примерно? А то что установленно в cpulimits - не достижимо? Я просто понимаю что 100% загрузки постоянной сложно добиться? Я о тут на своем 333->375МГц и видео смотрю(в консоле mplayer) и ядро компилю и в Гноме сижу - ито до 100% доходит не всегда... Вот поэтому и спрашиваю... а что говорить тогда если минимум например будет 1.5% от 2Х3 ГГц = ~90МГц а максимум там 5%=300мГц То если делить компьютер по 300МГц или по 90 - то совсем разное количество VPS получится - аш в 2-3 раза больше Может кто-то поделится - даными в области хостинга? Тоесть все ли максимальные ресурсы используются в один момент времени? Или всегда есть люфт которым можно пользоваться для увилечения количества VPS за счет неиспользуемых ресурсов?
1) cpuunits - это не лимит, это вес ВЕ относительно других ВЕ при распределении процессрного времени. Чем больше вес, тем больше времени будет выделено. Если у всех ВЕ вес одинаков, все получат одинаковое кол-во процессорного времени не зависимо от того, насколько велико значение параметра CPUUNITS. То есть ситуация 1) cpuunits_1 = 1, cpuunits_2 = 1 эквивалентна ситуации 2) cpuunits_1 = 1000, cpuunits_2 = 1000. 2) cpulimits - это не гарантии, а как раз наоборот, самый настоящий лимит. ВЕ не дадут использовать больше чем cpulimits процентов от процессорного времени, причём максимальное процессорное время - 100 * кол-во CPU. То есть если вы выставите cpulimits > 100*num_cpus, то это равносильно тому, что вы его вообще не выставляли.
Quote: 1) cpuunits - это не лимит, это вес ВЕ относительно других ВЕ при распределении процессрного времени. Чем больше вес, тем больше времени будет выделено. Если у всех ВЕ вес одинаков, все получат одинаковое кол-во процессорного времени не зависимо от того, насколько велико значение параметра CPUUNITS. То есть ситуация 1) cpuunits_1 = 1, cpuunits_2 = 1 эквивалентна ситуации 2) cpuunits_1 = 1000, cpuunits_2 = 1000. Хм...непонятно Опять таки: #vzcpucheck Current CPU utilization: 2000 Power of the node: 17275 Вот есть эти виртуальные процесорные еденицы Насколько Я понял из мануала - то это минимальное значение гарантируемое системой! Тоесть 17275 = 100% от CPU а 1 = 100/17275% от CPU гарантированая ноде Quote: 2) cpulimits - это не гарантии, а как раз наоборот, самый настоящий лимит. ВЕ не дадут использовать больше чем cpulimits процентов от процессорного времени, причём максимальное процессорное время - 100 * кол-во CPU. То есть если вы выставите cpulimits > 100*num_cpus, то это равносильно тому, что вы его вообще не выставляли. Сколько бы не было гарантировано - это предел. Тоесть Я задам предел 1% и как бы и сколько б там не было cpuunits Я получаю 1% а не пропорционально "весу"... ЗЫ: Полазив по сайтам и форумам Я вроде понял что есть возможность поставить как Я и предпологал cpulimit равным одному значению, cpuunits другому и тогда просто напросто возникает оверселинг - когда реально меньше физических ресурсов чем затребовано или выставлено в openVZ
weldpua2008 wrote on Sun, 24 December 2006 16:45 ЗЫ: Полазив по сайтам и форумам Я вроде понял что есть возможность поставить как Я и предпологал cpulimit равным одному значению, cpuunits другому и тогда просто напросто возникает оверселинг - когда реально меньше физических ресурсов чем затребовано или выставлено в openVZ Энергию атома можно использовать для замены вредящих экологии угольных электростанций, а можно... сами знаете для чего. Есть у Вас, например, задача(VE101), требующая высокой интерактивности, задача которая виртуализирована. По какой-то причине задаче нельзя выделить целое процессорное ядро(ограниченный бюджет, например), задача, например, сервер IP телефонии. С этой задачей на одном ядре рядом гнездится еще одна задача(VE102): сборочный контейнер (в котором мы собираем, например, rpm в mock, или вообще тиндербокс в фоне, очень долго и очень много). Последней задаче НЕ нужна интерактивность, но нужно много cpu секунд в долгосрочной перспективе. Что можно сделать? Ve101: cpulimit 15 cpuunits 10000 ve102 cpulimit 80 cpuunits 100 Удобно же:) Никто никому не мешает, а Вы "оверселлинг, оверселлинг..."