/etc/security/limits.conf для встановлення програмних лімітів у Linux


3

У мене є таке /etc/security/limits.conf (я вказав корінь окремо, тому що * не буде включати його.)

user2 - ядро ​​необмежене
* - ядро ​​0
root - ядро ​​0
* - rss 512000
корінь - rss 512000
* - nproc 100
корінь - nproc 100
* - маклогіни 1
корінь - маклогіни 1

Я запускаю програму як user2 (./programname), але / proc / 3498 / limit говорить, що ядра вимкнено:

Обмеження м'яких обмежувачів жорстких лімітів     
Максимальний час процесора необмежений необмежений секунд   
Максимальний розмір файлу необмежений необмежений байт     
Максимальний розмір даних необмежений необмежений байт     
Максимальний розмір стека 8388608 необмежений байт     
Максимальний розмір основного файлу 0 0 байт     
Макс резидент встановити 524288000 524288000 байт     
Макс обробляє 100 100 процесів 
Максимум відкритих файлів 1024 1024 файлів     
Максимально заблокована пам'ять 65536 65536 байт     
Макс адресного простору необмежений необмежений байт     
Максимум файлів блокує необмежену кількість необмежених блокувань     
Максимум відкладених сигналів 14001 14001 сигналів   
Макс. Розмір msgqueue 819200 819200 байт     
Максимальний приємний пріоритет 0 0                    
Максимальний пріоритет у режимі реального часу 0 0                    
Максимальний тайм-аут у режимі реального часу необмежено обмежує нас

Як ulimit -Sa, так і ulimit -Ha вихід, що стрижні відключені:

розмір основного файлу (блоки, -c) 0
розмір сегмента даних (кбайт, -d) необмежений
Пріоритет планування (-е) 0
розмір файлу (блоки, -f) необмежений
сигнали, що очікують (-i) 14001
Максимально заблокована пам'ять (кбайт, -l) 64
Максимальний об'єм пам'яті (кбайт, -м) 512000
відкрити файли (-n) 1024
розмір труби (512 байт, -p) 8
Черги повідомлень POSIX (байти, -q) 819200
пріоритет у режимі реального часу (-r) 0
розмір стека (кбайт, -ів) необмежений
час процесора (секунди, -t) необмежений
максимум процесів користувача (-u) 100
віртуальна пам'ять (кбайт, -v) необмежена
блокування файлів (-x) необмежено

Чому серцевини відключені?


Що саме ви маєте на увазі під "запускаю програму як user2"? Можливо, ви очікуєте, що ці межі магічно навяжуть себе - вам доведеться запустити якусь програму, яка їх нав'язує.
Девід Шварц

Відповіді:


1

Можливо, десь є профіль, на якому встановлюється оболонка user2 ulimit -c 0? Коли я запускаю bash без ulimit -cі перевіряю процес, який я запускаю, я бачу це:

Limit                     Soft Limit           Hard Limit           Units
Max core file size        0                    unlimited            bytes

Але коли я ulimit -c 0запускаю процес, я бачу таке:

Limit                     Soft Limit           Hard Limit           Units
Max core file size        0                    0                    bytes

Ви спробували встановити ulimit -c unlimitedв кінці файлу rc оболонки user2?


0

Спробуйте наступне замовлення:

*          -     core          0
user2      -     core          unlimited
root       -     core          0

Принаймні, для деяких налаштувань порядок має значення limit.conf.


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