Мягкое ограничение и жесткое ограничение

Я считаю, что пакет должен содержать заголовки linux, а не только заголовки.

1
09.11.2016, 14:11
2 ответа

На самом деле все наоборот.

Значения мягкого лимита фактически реализованы, т. Е. Используются, вы можете увеличить лимит до соответствующих значений жесткого лимита (при условии, что вы не являетесь суперпользователем или не имеете возможности CAP_SYS_RESOURCE ).

2
27.01.2020, 23:34

Считайте жесткие и мягкие ограничения обязательными и дискреционными, соответственно. Жесткое ограничение накладывается системой (через соответствующую конфигурацию, например, limits.conf(5)) и может быть увеличено только суперпользователем (т.е. root), в то время как пользователь может устанавливать мягкие ограничения по своему усмотрению в диапазоне соответствующих жестких ограничений.

Из руководства getrlimits(2):

Мягкий предел - это значение, которое ядро устанавливает для соответствующего ресурса. Жесткий предел действует как потолок для мягкого предела: непривилегированный процесс может установить только свой мягкий предел на значение в диапазоне от 0 до жесткого предела и (необратимо) понизить свой жесткий предел.

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

Ответ на комментарий

Не существует такого понятия, как только жесткий лимит. Лимиты устанавливаются с помощью setrlimit(2), который ссылается на struct rlimit. Она, в свою очередь, имеет члены для мягкого и жесткого предела (rlim_cur и rlim_max, соответственно). Если мягкий предел не определен явно, то по умолчанию он принимает некоторое значение, скорее всего, соответствующее жесткому пределу, но это зависит от процесса, который устанавливает пределы. (setrlimits(2) отвергает rlim_cur при превышении rlim_max, поэтому RLIM_INFINITY обычно не является допустимым значением по умолчанию для rlim_cur)

.
1
27.01.2020, 23:34

Теги

Похожие вопросы