Як видалити обмеження на розмір основного дамп-файлу


11

Я хотів би збільшити максимальний розмір обмеження для основних дамп-файлів як звичайний користувач. Використовуючи bash, я можу встановити його так:

$ ulimit -c 100

що добре працює в перший раз, коли я його встановив. Однак наступного разу, коли я використовую цю команду, я можу встановити це обмеження лише на значення, яке не перевищує 100. Взагалі я можу встановити його довільним значенням лише в перший раз, коли я використовую цю команду після входу. Всі наступні рази можливі значення обмежуються зверху початково встановленим значенням.

Як я можу зробити це стійким для кількох застосувань команди?

Відповіді:


9

Відповідь Петера Башисти на його власне запитання:

Спочатку я подумав, що це помилка, і саме тому я почав це питання. Але виявилося, що це просто ідеально правильна поведінка. Виявляється, тут також діє приказка RTFM.

Як man bashвиявляється, ulimitвбудована команда має додаткові параметри: -Hдля встановлення так званих жорстких обмежень та -S для встановлення так званих м'яких обмежень. Більше того, якщо жодна з цих опцій не задана, поведінка за замовчуванням полягає у тому, що ulimitнамагається одночасно встановити як м'які, так і жорсткі межі. І в цьому була проблема.

Зараз є цитата зі bashсторінки man:

Некореневий користувач не може збільшити жорсткий ліміт після його встановлення;

Отже, там ми їдемо. Правильне використання ulimitкоманди завжди повинно мати це на увазі. Найголовніше, що вона ніколи не повинна бути використана без -Hабо -Sопції , якщо ви не впевнені, що знаєте , що ви робите (який я в той час , очевидно , не було).

Що я мав би зробити, це щось подібне:

Після входу: ulimit -H -c unlimited

Кожен раз, коли я хочу змінити максимальний обмеження розміру основного дампа ulimit -S -c <new size>

Отже, ось про це. Я сподіваюся, що це може допомогти тому, хто може боротися з подібною проблемою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.