Толкование и использование /proc/user_beancounters
Автор
Сообщение
v_2e
Зарегистрирован: 19.01.2011 Сообщения: 5
725
Добавлено: Чт, 20 Янв, 2011 11:33 Заголовок сообщения: Толкование и использование /proc/user_beancounters
Добрый день!
Я уже некоторое время пользуюсь виртуальным сервером, и довольно долго испытывал "необъяснимые" проблемы. Вкратце ситуация была такой: память свободная была, но "fork" не мог выделить её под процесс. Поиски привели меня, наконец, на OpenVZ Wiki, и там я узнал о /proc/user_beancounters.
Это сразу многое объяснило, но и добавило новых вопросов. А именно:
Параметр numproc содержит значение limit=60. Как я понимаю, это максимальное число процессов, которые мне можно запускать на своём сервере, так? Если да, то насколько это ограничение жёстко (можно ли его увеличить как-то?) и зависит ли оно от конкретного тарифного плана? Если зависит, то почему это ограничение не отображено в таблице параметров разных тарифных планов? Может быть, стоит добавить?
Параметр numtcpsock содержит значение limit=190. Если я правильно понимаю, это максимальное количество сетевых соединений, которые позволено использовать? Если так, то предыдущий вопрос относится и к этому параметру (жёсткость, возможность изменить и т.д.).
Параметр privvmpages содержит значение limit=68813. Этот параметр мне наименее понятен. Я читал о нём на вики, и понял так, что это максимальное число страниц памяти, доступное моим прилоежниям, определяющее, по сути, объём доступной оперативки. Но у меня на сервере почти постоянно есть некоторый объём свободной памяти, а тем не менее, число ошибок по этому параметру потихоньку растёт. Значит ли это, что время от времени в каком-то из процессов происходят "всплески" потребления памяти, и он заполняет всё свободное пространство, вызывая таким образом переполнение этого параметра?
Я привёл только те параметры здесь, по которым у меня на сервере числятся ошибки. Однако, было бы интересно узнать и значение других параметров, подразумевающих определённую конфигурацию сервера. Чтобы не было ошибок. Ну и, конечно, о возможности изменения этих параметров в случае надобности тоже хочется узнать.
Эти параметры зависят от используемого вами пакета. Например, numproc рассчитывается по такой формуле:
Код:
numproc = pow ( ram_guaranteed_mb, 0.7 ) * 2
60 процессов - это для пакета с 128MB RAM, что вполне достаточно для большинства примерений при таком объёме памяти. Параметр numtcpsock также рассчитывается по определённой формуле и зависит, в основном, от объёма памяти в пакете.
privvmpages - это максимальный суммарный объём памяти, который может быть когда-либо выделен для вашего VDS; измеряется в страницах размером 4 КБ (в вашем случае это получается около 260 МБ).
Более подробного описания (и при этом не искажённого), чем на OpenVZ Wiki, не существует.
Если вы заметили, что вашему VDS не хватает какого-либо ресурса - сообщите об этом в поддержку, и необходимый ресурс будет добавлен.
Спасибо за прояснение. Стало быть, это таки от тарифного плана зависит. Что ж, это вполне резонно.
eomysupport писал(а):
Если вы заметили, что вашему VDS не хватает какого-либо ресурса - сообщите об этом в поддержку, и необходимый ресурс будет добавлен.
Но возможно ли это без перехода на другой тарифный план (что сопровождалось бы его подорожанием )?
И если возможно, то в каких пределах. Скажем, если у меня максимальное число процессов - 60, то насколько можно мне его повысить, не переходя на другой план?
И ещё одно: может быть стоит указать максимальное количество процессов в таблице параметров серверов для различных тарифных планов? Хотя, если этот параметр можно менять, то тогда, конечно, нет смысла его указывать как жёсткий параметр.