Я хотел бы увеличить ограничение максимального размера для файлов дампа основной памяти как обычный пользователь. Используя bash
, я могу установить его так:
$ ulimit -c 100
, который хорошо работает при первой установке. Однако в следующий раз, когда я использую эту команду, я могу установить для этого предела только значение, не превышающее 100. В общем, я могу установить для него произвольное значение только при первом использовании этой команды после входа в систему. Все последующее время возможные значения ограничиваются сверху изначально установленным значением.
Как я могу сделать это постоянным при многократном использовании команды?
На ответ @Peter Bašista в его собственном вопросе:
Сначала, я думал, что это - ошибка, и вот почему я запустил этот вопрос. Но оказалось, что это - просто совершенно корректное поведение. Оказывается, что прочитайте руководство высказывание применяется здесь также.
Как
man bash
показывает,ulimit
встроенная команда имеет дополнительные параметры:-H
для установления так называемых жестких пределов и-S
для установления так называемых мягких пределов. Кроме того, если ни одна из этих опций не дана, поведение по умолчанию - этоulimit
попытки установить и мягкое и жесткие пределы тому же значению сразу. И это было проблемой.Теперь существует кавычка от
bash
страница справочника:Жесткий предел не может быть увеличен некорневым пользователем, после того как он установлен;
Так, там мы идем. Корректное использование
ulimit
команда должна всегда иметь это в виду. Самое главное это никогда не должно использоваться без-H
или-S
опции, если Вы, несомненно, не будете знать то, что Вы делаете (который в то время, когда я, очевидно, не был).То, что я должен был сделать, является чем-то вроде этого:
После входа в систему:
ulimit -H -c unlimited
Каждый раз я хочу изменить максимальный предел размера дампа ядра
ulimit -S -c <new size>
Так, это об этом. Я надеюсь, что могло помочь кому-то, кто мог бы бороться с подобной проблемой.